學生信息管理系統(tǒng)(20211119190847)_第1頁
學生信息管理系統(tǒng)(20211119190847)_第2頁
學生信息管理系統(tǒng)(20211119190847)_第3頁
學生信息管理系統(tǒng)(20211119190847)_第4頁
學生信息管理系統(tǒng)(20211119190847)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、- i - 江蘇科技大學計算機科學與工程學院系統(tǒng)設(shè)計設(shè)計題目:學生信息管理系統(tǒng)學生學號:1341901129 專業(yè)班級:計算機 01 學生姓名:張俊偉摘要學生信息管理系統(tǒng)是一個對學生隨著 信 息 技 術(shù) 在 管 理 上 越 來 越 深 入 而 廣 泛的 應(yīng) 用 , 管 理 信 息 系 統(tǒng) 的 實 施 在 技 術(shù) 上 已 逐 步 成 熟 。 管 理 信 息 系 統(tǒng) 是 一 個不 斷 發(fā) 展 的 新 型 學 科 , 任 何 一 個 單 位 要 生 存 要 發(fā) 展 , 要 高 效 率 地 把 內(nèi) 部 活動 有 機 地 組 織 起 來 ,就 必 須 建 立與 自 身 特 點 相 適 應(yīng) 的 管 理 信

2、 息 系 統(tǒng) 。這個學生信息管理系統(tǒng)用visual c+ 來設(shè)計界面, 采用面向?qū)ο蟮恼Z言編程, 實現(xiàn)對學生信息的基本管理,包括學生信息,班級信息,課程信息,成績信息的添加,修改和查詢以及密碼等功能。該系統(tǒng)充分考慮用戶的操作簡便性, 實現(xiàn)快捷操作如何調(diào)程序也非常重要,通過這個程序可以學習到以前調(diào)試短程序沒有的的經(jīng)驗。它有以下幾個功能:(1) :系統(tǒng)設(shè)置,包括創(chuàng)建用戶,學生或管理員登陸,修改密碼,學生信息查詢。(2)信息設(shè)置,可以添加新學生信息,修改信息。(3)學生信息的查看和管理??梢圆榭磳W生的學號,姓名,性別,年齡,專業(yè),班級,所選課程,成績查看。(4)學生信息查詢??砂磳W號,姓名,還有其他

3、各種條件查詢,方便實用。(5)程序的輸入。鍵盤輸入。包括用戶名,密碼,各種學生信息。(6)程序的輸出。輸出到顯示器上。(7)數(shù)據(jù)的測試。修改學生信息時,返回修改成功,數(shù)據(jù)運行無錯誤,程序沒問題。根據(jù)以上需要實現(xiàn)的功能我們可以用到指針,類的定義和運用,結(jié)構(gòu)體等工具。在做這次設(shè)計之前我們應(yīng)該先要找到我們需要的各個函數(shù)以及它們的用法我們也應(yīng)該做到心里有數(shù),我們應(yīng)該做好相關(guān)的準備工作。這次設(shè)計以visual c+6.0 作為系統(tǒng)前臺應(yīng)用程序開發(fā)工具,編寫好程序,盡可能做到以上的幾種功能。這次課程設(shè)計應(yīng)該是一次學習的知識的一次好的檢驗情況。同時這也讓我們所學習的知識得到了加強和鞏固。- 1 - 一課題背

4、景這次學生信息管理系統(tǒng)可以說是一個綜合性的學校學生管理系統(tǒng),這它集成了學生信息管理系統(tǒng)的多種功能,具有較強的綜合性。1.1設(shè)計背景,目的和意義這次試驗是以vc+6.0的為工作環(huán)境,這是一個關(guān)于學生信息管理系統(tǒng)的試驗,其中包括了密碼的設(shè)定以及修改的問題,學生信息添加的功能,學生信息查找的功能。這個管理系統(tǒng)是一次比較符合現(xiàn)代的一種管理系統(tǒng),我們要從中得到我們所要建立的信息并成功獲得我們存入的信息。這要求我們既可以儲存也可以讀取,這很符合我們現(xiàn)代化的管理特點。我們需要通過這個工作環(huán)境來完成這些功能。因為一次實驗的過程也是我們的一次學習的過程。這次的學生信息管理系統(tǒng)的實驗是一次比較綜合的一次實驗的過程

5、。尤其是在其中的設(shè)計過程中我們需要大量的函數(shù)和很多的關(guān)鍵字以及很多的頭文件中的一些函數(shù)。同時我們在設(shè)計的過程中有很多的功能需要去實現(xiàn)。比如說學生信息添加的功能。我們要用到指針等的一些工具。我們應(yīng)該在這次的實驗過程中結(jié)合自己所學的知識以及我們在學習的過程中遇到的難題可以從老師那里得到更多的幫助。我們同時也可以學習到新的知識。我們需要從中學會利用我們所學習的知識來運用到實際中來解決現(xiàn)實中的問題,這是一次不斷了解現(xiàn)實生活中的實例。這樣我們面對現(xiàn)實中的問題是我們并不會束手無策。這是一次學習實踐的好機會,我們應(yīng)該借這個機會來學會如何處理現(xiàn)實中的各種問題,同時我們也可以了解到現(xiàn)實中的具體情況。在實驗的過程

6、中,可能會遇到一些困難。例如我們程序的正常連接情況和語法上的錯誤或邏輯上的錯誤。這些都是我們在實驗過程中經(jīng)常遇到的問題。我們需要自己獨立的去思考這些問題或請教指導老師來解決。我相信經(jīng)過這次的課程設(shè)計我們會對相關(guān)的知識有了進一步的加強。我們既可以對于上學期的c語言的知識重新溫習,還可以對 c+ 作更多的了解。1.2 基本理論依據(jù)和主要工作內(nèi)容實驗的基本要求以及學生信息管理系統(tǒng)的工作內(nèi)容如下:1、學生信息的構(gòu)成:學號,姓名,性別,年齡,班級,專業(yè),所修課程,所修課程的成績。2、系統(tǒng)管理功能:(三大塊)第一塊:登錄模塊及權(quán)限設(shè)置模塊(1)管理員/學生登錄模塊:設(shè)置 /修改密碼;不同類型人員的權(quán)限設(shè)置

7、(管理員可以修改信息,學生只能查詢信息)第二塊:管理員模塊(2)面向管理員的學生信息管理模塊:加入學生信息;根據(jù)各種特征方便的查找學生信息;學生信息的管理;(3)面向管理員的課程及成績管理模塊:各學年所修課程及其成績管理。第三塊:學生模塊(4)面向?qū)W生的學生信息查詢模塊:根據(jù)各種特征方便的查找學生信息;(5)面向?qū)W生的課程及成績查詢模塊:根據(jù)各種特征方便的查找所修課程及成績;我們可以看到在登陸模塊中建立一個選擇的函數(shù),為不同的登陸身份提供不同的服務(wù)界面,在這個模塊中我們需要建立一個數(shù)組并且通過輸入的字符與程序中設(shè)定的進行比較從而進入不同的界面,在這里我們需要用到strcmp 函數(shù)的相關(guān)功能。同

8、時在對待學生信息的構(gòu)成的時候我們需要定義一個students類來學號,姓名,性別,年齡,班級,專業(yè), 所修課程,所修課程的成績等成員。 加入學生信息的時候提供一個add 函數(shù)來處理。同時在查找的過程中提供一個find 函數(shù)來處理而且在這個函數(shù)中我們需要調(diào)用循環(huán)語句和判斷語句。在這個程序的設(shè)計過程中如何使自己的密碼在屏幕上顯示的是“*”這個問題是比較難的。我們要用到_getch()這樣的一個函數(shù),我們需要了解這個函數(shù)的正確用法。同時貫穿整個程序的就是我們需要很好的運用文件流的操作。我們應(yīng)該建立一個文件來存放我們寫進去的內(nèi)容。我們需要不斷的進行文件的存入和讀取操作。二設(shè)計簡介及設(shè)計方案論述2.1

9、設(shè)計簡介在設(shè)計學生管理系統(tǒng)的時候, 首先我們可以看到這次的課程設(shè)計的基本功能有:登錄時的設(shè)置和密碼的相關(guān)問題;同時還有學生信息的添加查找和信息的保存,同時在學生信息過程中我們也要對查找過程中用不同方式來進行查找功能。這樣我們在設(shè)計過程可以用類的相關(guān)作用定義一個類來存放這些數(shù)據(jù)成員同時可以運用_getch() 這個函數(shù)來進行密碼的不回顯的功能。 同時還有選擇語句的相關(guān)使用問題。而縱觀整個程序我們需要運用文件流的操作來控制整個程序,我們需要運用文件流來進行數(shù)據(jù)的保存的問題。在整個設(shè)計的過程中我們可以一部分一部分的對相關(guān)功能進行處理,我們可以建立不同的頭文件和源文件來實現(xiàn)它們,將所需實現(xiàn)的功能來進行

10、很好的分類,這樣我們就可以很方便的對具體的功能部分有很好的了解。這樣更便于我們?nèi)ゾ帉懗绦颉?.2 設(shè)計方案整個學生管理系統(tǒng)需要實現(xiàn)很多的功能,其中有類的相關(guān)使用情況也有特殊函數(shù)的具體用法,同時我們必須知道我們所需要的函數(shù)中它們的具體功能和我們需要提供的系統(tǒng)自帶的頭文件。例如#include這個頭文件就是對于_getch()這個函數(shù)的一個很好的說明,因為這些函數(shù)是不需要我們定義的同時卻又能夠為我們直接使用的函數(shù)。對于類似這樣的函數(shù)我們需要提供這些函數(shù)的頭文件。因此經(jīng)過一些相關(guān)的思考后我認為我們可以建立兩個頭文件和四個源文件來存放整個程序。而在整個程序開始的時候我們可以先來對整個程序構(gòu)造一個簡單的

11、程序執(zhí)行時的框架。我們不妨利用下面這個圖來看一下程序的相關(guān)執(zhí)行情況。程序流程圖如下:從上面的視圖中我們可以看到在整個程序設(shè)計的過程中,我們可以按照上面的圖來進行程序相關(guān)功能的實現(xiàn)。首先是進行學生信息的下載過程。這就要求我們在程序的運用文件流的知識來建立一個文件。用它來存放相關(guān)的學生信息,便于我們可以獲得。然后我們打印出我們剛開始的時候需要進行身份的驗證信息。登陸身份包括學生和管理員身份。在這里可以運用 strcmp 函數(shù)來把我們從鍵盤上輸入的信息來進行比較以方便確認登陸者的身份。對于學生身份來說我們不允許他們來對學生的信息進行修改而只對錯學生開始下載學生信息登陸界面選擇登陸身分輸入管理員密碼打

12、印學生功能表驗證密碼?打印管理員功能表選擇功能x 選擇功能x 實現(xiàn)功能x 實現(xiàn)功能x 程序流程圖能對學生的信息進行查找的功能。進入學生信息的功能表時我們可以利用選擇語句來控制學生所想要的查找服務(wù),例如,按姓名查找以及按學號查找的功能。而當進入管理員的窗口時需要管理員輸入密碼,首先我們必須設(shè)定好自己的密碼。在設(shè)定好密碼后,當輸入密碼后需要將這兩個密碼進行比較,只有當密碼輸入正確的時候,才能進行管理員的功能列表。而在密碼的問題上我們需要用戶在輸入密碼的時候我們需要在屏幕上顯示的不是現(xiàn)實中的密碼而是“* ”之類的符號。這樣可以使密碼不會被泄露出去。在這里我們可以運用_getch()這個函數(shù)來實現(xiàn)所輸

13、入的以不回顯的方式顯示在屏幕上。然后當管理員進入之后會出現(xiàn)管理員所需要處理的相關(guān)功能。例如,查找學生信息并且修改學生信息。而接下來的功能實現(xiàn)過程應(yīng)該與學生身份進入后的相關(guān)操作是類似的。上述過程是對整個設(shè)計過程的一些簡介和論述。三詳細設(shè)計3.1 詳細設(shè)計過程中頭文件的情況首先在第一個頭文件中定義一個類來存放相關(guān)的數(shù)據(jù)如:unsigned int id; char name80; char gender; unsigned int age; char class80; char profession100; 上面的數(shù)據(jù)成員是用來聲明學生的學號,姓名,性別,年齡和班級等相關(guān)信息。其次,在另外一個頭文

14、件中可以存放程序中實現(xiàn)各種功能的函數(shù)。例如這些函數(shù)可以是:private: int find(unsigned int id); int find(char* name); void update(unsigned int id); void update(char* name); void add(); void sort(); void save(); void load(); void del(unsigned int id); void del(char* name); 上述這些不同的函數(shù)是用來實現(xiàn)不同的功能。例如 add() 函數(shù)是用來實現(xiàn)添加學生信息的功能的函數(shù)。3.2 源文件的相

15、關(guān)情況源文件是用來存放實現(xiàn)函數(shù)的各種功能的程序。首先在剛開始進入界面的時候需要顯示不同的身份去登陸:cout *簡易學生信息管理系統(tǒng) * endl; cout setfill( ); cout setw(14) a、管理員 endl; cout setw(14) b、學生 endl; cout * endl; cout 請輸入功能序號選擇登錄身份: endl; 出現(xiàn)這個界面后需要登陸者選擇適合自己的身份去登陸。如果是學生身份的話,那么對于學生來說他只能進行查找的功能,我們需要反饋一個信息來顯示他所擁有的權(quán)限。程序如下所示:cout *簡易學生信息管理系統(tǒng) * endl; cout setfil

16、l( ); cout 請選擇您需要的操作 :endl; cout setw(14) 0、退出整個系統(tǒng) endl; cout setw(14) 1、查找學生信息:已知學號 endl; cout setw(14) 2、查找學生信息:已知姓名 endl; cout setw(14) 3、對學生成績排序 endl; cout setw(14) 4、從文件中讀入學生信息 endl; cout * endl; 出現(xiàn)這個界面后登陸者需要對其所想要的功能進行選擇。登陸者選擇的功能不同,屏幕上所出現(xiàn)的信息也將會是不同的。而當?shù)顷懻哌x擇的身份是管理員時,那么我們需要登陸者輸入管理員密碼,只有密碼正確時管理員才能進

17、入界面進行相關(guān)的操作。當管理員輸入密碼時而不顯示真正的數(shù)字而是以不回顯的方式來顯示卻只是輸出“*”的功能需要用 _getch() 這個函數(shù)來實現(xiàn)。該程序如下所示:static char c50; int i=0; char ch; while (1) ch = _getch(); if (ch = r) break; ci+ = ch; _putch(*); 而在定義這個函數(shù)時需要說明#include頭文件。當管理員密碼輸入正確后需要顯示管理員的功能列表如下:cout |*簡易學生信息管理系統(tǒng) *| endl; cout setfill( ); cout setw(14) 0、添加學生的信息

18、endl; cout setw(14) 1、查找學生信息:已知學號 endl; cout setw(14) 2、查找學生信息:已知姓名 endl; cout setw(14) 3、修改學生信息:已知學號 endl; cout setw(14) 4、修改學生信息:已知姓名 endl; cout setw(14) 5、刪除學生信息:已知姓名 endl; cout setw(14) 6、刪除學生信息:已知學號 endl; cout setw(14) 7、對學生成績排序 endl; cout setw(14) 8、保存學生信息到文件中 endl; cout setw(14) 9、從文件中讀入學生信息

19、endl; cout setw(14) x、修改密碼 ! endl; cout setw(14) t、退出整個系統(tǒng) endl; cout |*| endl; 這個界面出現(xiàn)后管理員會根據(jù)自己的需要來進行選擇,不同的選擇確定后系統(tǒng)會根據(jù)不同的選擇來執(zhí)行不同的程序。例如說:管理員如果選擇的是“查找學生信息”中的“根據(jù)學生姓名查找” ,則會執(zhí)行如下的一段程序:int application:find(char *name) for (int i = 0; i stuno; +i) if (stricmp(name, ) = 0) cout studenti endl; ret

20、urn i; return -1; 執(zhí)行完這段程序后,程序會進行查找的功能。從而根據(jù)姓名查找來獲得學生的各種信息。這樣才滿足了用戶的要求。同時當管理員需要修改密碼時我們需要提供一個修改密碼的函數(shù)如“這段程序就是將新的密碼輸入code 文本文檔,從而實現(xiàn)設(shè)置新密碼的功能。同時這樣也便于操作人員從程序所建立的code 文本文檔中找到密碼,這樣很有效的防止了管理員一時忘記密碼的話可以從文檔中找到自己所存放的密碼。四設(shè)計結(jié)果及分析4.1 設(shè)計結(jié)果簡介設(shè)計結(jié)果包括程序進入時的屏幕輸出的功能表,如果登陸者選擇的是以學生身份登陸的話,則需要屏幕輸出學生身份的輸出功能表?;蛘叩顷懻呤且怨芾韱T身份登陸的話,我們會

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論