C++學生信息管理系統(tǒng)實驗報告材料-示例_第1頁
C++學生信息管理系統(tǒng)實驗報告材料-示例_第2頁
C++學生信息管理系統(tǒng)實驗報告材料-示例_第3頁
C++學生信息管理系統(tǒng)實驗報告材料-示例_第4頁
C++學生信息管理系統(tǒng)實驗報告材料-示例_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實用文檔課程設計報告課程設計題目:學生信息管理系統(tǒng)學生姓名 :張鵬專業(yè):軟件工程(嵌入式)班級:1621806指導教師 :高 永 平2017年6月9日實用文檔目錄一、需求分析:3二、總體設計:3三、詳細設計。4四、測試結果。13五、軟件操作使用說明書。18六、總結。18七、代碼:18實用文檔一、需求分析:根據對學生信息管理的需要,建立一個“學生信息管理系統(tǒng)” ,以方便對學生信息數據的錄入、修改、刪除和查詢功能。 、要求完:1. 有菜單界面可以對功能進行選擇;2. 能錄入姓名、性別、學號、班級和電話號碼等學生信息并保存到文件中;3. 能根據學生的學號進行排序;4. 能根據學生的學號對學生的信息進

2、行修改;5. 能根據學生的學號對學生的信息進行刪除;6. 能根據學生的學號、姓名和班級等對學生信息進行查詢;7. 能根據班級對學生人數進統(tǒng)計。二、總體設計:根據以上分析,本系統(tǒng)主要包括:1. 從鍵盤錄入學生個人信息,并保存到文件中;2. 按學號對學生信息進行排序3. 按學號對學生信息進行修改;4. 按學號對學生信息進行刪除;5. 按學號對學生信息進行查詢;6. 按姓名對學生信息進行查詢;7. 按班級對學生信息進行查詢;8. 結束當前程序;等 8 大功能,系統(tǒng)主要定義了 1 個類和 16 個函數以實現各個功能:( 1)主函數 main(): 調用錄入、查找、修改、排序、統(tǒng)計、刪除等函數對學生成員

3、信息進行處理。( 2)定義類 class student: 用于定義成員結構體數組。( 3)類中構造函數 student(): 對類中各項私有成員進行傳值。( 4)類中輸入運算符重載函數 operator (): 方便對類的對象輸入。( 5)類中輸出運算符重載函數 operator (): 方便對類的對象輸出。( 6)獲取函數 getnum(): 方便在類外對類中的私有成員 num的數據進行調用。( 7)獲取函數 getname(): 方便在類外對類中的私有成員 name的數據進行調用。( 8)獲取函數 getban():方便在類外對類中的私有成員ban 的數據進行調用。( 9)錄入函數 en

4、ter(): 從鍵盤輸入學生個人信息,并保存到文件中。( 10)查找函數 search_num(): 按學號查找學生個人信息。(11)查找函數 search_name():按姓名查找學生個人信息。(12)查找函數 search_ban():按班級查找學生個人信息。(13)修改函數 changr():按學號修改學生個人信息,保存的文件中。( 14)刪除函數 del():按學號刪除學生個人信息,保存到文件中。實用文檔( 15)排序函數 sort(): 按學號對學生個人信息進行排序。( 16)統(tǒng)計函數 count(): 按班級對學生人數進行統(tǒng)計。程序功能結構圖如圖1 所示:學生信息管理系統(tǒng)鍵保學信信

5、學姓班人數盤存號息息號名級統(tǒng)輸數排修刪查查查計入據序改除詢詢詢圖 1 程序功能結構圖如圖三、詳細設計。本系統(tǒng)有一個主函數, 8 個功能模塊,每個功能模塊函數都是由主函數調用,分別說明如下:( 1)主函數 main():調用錄入、查找、修改、排序、統(tǒng)計、刪除等函數對學生成員信息進行處理。主函數流程圖如圖2 所示:實用文檔開 始輸出菜單輸入操作選擇cc=0c=1c=2c=3c=4c=5c=6c=7c=8退保輸學信信學姓班統(tǒng)出存入號息息號名級計系數數排修刪查查查人統(tǒng)據據序改除詢詢詢數繼續(xù)操作否YN結束圖 2 主函數流程圖( 2)鍵盤輸入函數流程圖:從鍵盤輸入學生個人信息,并保存到文件中。流程圖如圖

6、3 所示:實用文檔開 始輸入學生人數輸入學生個人信息保存數據到文件中Y是否繼續(xù)N結束圖 3 鍵盤輸入函數流程圖( 3)排序函數流程圖:按學號對學生個人信息進行排序。流程圖如圖 4 所示:實用文檔開 始按學號進行學排序輸出排序完成后的信息Y是否繼續(xù)N結束圖 4 排序函數流程圖( 4)信息修改函數流程圖:由用戶輸入需要修改的成員的學號,在現有的學生信息中查詢是否有此學生信息的存在,查到輸出該學生的全部信息, 沒查到則輸出“學號為 XX的學生不存在 ! ” 信息。流程圖如圖 5 所示:實用文檔開 始打開文件輸入成員學號查詢到否輸出查到成員信息輸出不存在成員信息輸入修改成員信息關閉文件結束圖 5 信息

7、修改函數流程圖( 5)信息刪除函數流程圖:由用戶輸入需要刪除的成員的學號,在現有的學生信息中查詢是否有此學生信息的存在,查到刪除該學生的全部信息, 沒查到則輸出“學號為 XX的學生不存在 ! ” 信息。流程圖如圖 6 所示:實用文檔開 始打開文件讀入學生信息輸入刪除學號Y查詢到否刪除此學生信息N輸入不存在信息關閉文件結束圖 6 信息刪除函數流程圖( 6)學號查詢函數流程圖:由用戶輸入需要查詢的成員的學號,在現有的學生信息中查詢是否有此學生信息的存在,查到輸出該學生的全部信息, 沒查到則輸出“學號為 XX的學生不存在 ! ” 信息。流程圖如圖 7 所示:實用文檔開 始打開文件輸入學生學號Y查詢到

8、否輸出查到學生信息N輸出不存在學生信息關閉文件結束圖 7 學號查詢函數流程圖( 7)姓名查詢函數流程圖:由用戶輸入需要查詢的成員的姓名,在現有的學生信息中查詢是否有此學生信息的存在,查到輸出該學生的全部信息, 沒查到則輸出“姓名為 XX的學生不存在 ! ” 信息。流程圖如圖 8 所示:實用文檔開 始打開文件輸入學生姓名Y查詢到否輸出查到學生信息N輸出不存在學生信息關閉文件結束圖 8 姓名查詢函數流程圖( 8)班級查詢函數流程圖:由用戶輸入需要查詢的成員的班級,在現有的學生信息中查詢是否有此學生信息的存在,查到輸出該學生的全部信息, 沒查到則輸出“班級為 XX的學生不存在 ! ” 信息。流程圖如

9、圖 9 所示:實用文檔開 始打開文件輸入學生班級Y查詢到否輸出查到學生信息N輸出不存在該班級學生關閉文件結束圖 9 班級查詢函數流程圖( 9)按班級統(tǒng)計函數流程圖:由用戶輸入需要查詢的成員的班級,在現有的學生信息中查詢是否有此學生信息的存在,查到即對該班級人數進行統(tǒng)計,沒查到則輸出“班級為XX 的學生不存在 ! ”信息。流程圖如圖 10 所示:實用文檔開 始打開文件輸入學生班級Y查詢到否輸出該班級的人數N輸出不存在該班級學生關閉文件結束圖 10 按班級統(tǒng)計函數流程圖四、測試結果。(1)程序運行主菜單如圖11 所示:實用文檔圖 11(2)從鍵盤上輸入學生人數和學生信息如圖12 所示:圖 12(3

10、)按學號修改如圖13 所示:實用文檔圖 13(4)按學號刪除如圖14:圖 14(5)按學號查找如圖15:實用文檔圖 15(6)按姓名查找如圖16:圖 16(7)按班級查找如圖17:實用文檔圖 17(8)按班級統(tǒng)計人數如圖18:圖 18(9)按學號進行排序如圖19:實用文檔如圖 19五、軟件操作使用說明書。本軟件采用命令行對話方式進行操作,運行后出現主界面如上圖所示,然后按菜單提示操作即可。六、總結。經過一個星期的不斷上機實踐練習,我對 c+有了更進一步的認識和了解,學好它重在實踐,要通過不斷的上機操作不斷的進行操作和試運行才能更好地掌握它,通過這次實踐,我發(fā)現了自己的許多不足:我對各種循環(huán)的理

11、解深度還不夠,對字符成員調用還不是很熟練, 對指針的理解還是不透徹,以及對解決問題的想法不夠全面。這些不足,在這次實踐中都有所提高,并且對這些不足我都會在后續(xù)的學習中努力補足。七、代碼:#include#include#include#define M 5000using namespace std;class studentpublic:student()student(charna10,charse10,intn,intb,char實用文檔t12):num(n),ban(b)strcpy(sex,se);strcpy(name,na);strcpy(tel,t);friend istrea

12、m & operator (istream & is,student & s)s.sexs.nums.bans.tel;return is;friend ostream & operator (ostream & os,student & s) s.sex s.num s.ban s.telendl;return os;int getnum()return num;int getban()return ban;char *getsex()char *s=new charstrlen(sex);s=sex;return s;char *getname()char

13、*p=new charstrlen(name);p=name;return p;char *gettel()char *t=new charstrlen(tel);t=tel;return t;private:實用文檔char name10;char sex10;int num,ban;char tel12;int menu()char s80;int c;cout*主菜單*endlendl;cout|0.退出當前程序|nendl;cout|1.輸入學生信息|nendl;cout|2.根據學號查詢|nendl;cout|3.根據姓名查詢|nendl;cout|4.根據班級查詢|nendl;co

14、ut|5.根據學號排序|nendl;cout|6.按班級計人數|nendl;cout|7.根據學號刪除|nendl;cout|8.根據學號修改|nendl;cout-endl;cout輸入您的菜單選項編號(0-8):endl;coutDesigned by Peng8)cout 輸入錯誤,請重新輸入!:;elsebreak;實用文檔return c;int enter(student t)int i,n;system(cls);coutn;coutcout 姓名性別請輸入學生信息條數 endl;請輸入學生信息 nendl;學號班級聯(lián)系電話 endl;fstream fs;fs.open(c:i

15、tem.txt,ios:out);for(i=0;iti;fsti;fs.close();getchar();return n;void search_num(student t,int n)int i,nu,temp=-1000;system(cls);cout 請輸入查找學生的學號:nu;for(i=0;in;i+)if(nu=ti.getnum()cout 該學生信息為: endl 姓名 性別 學號 班級 聯(lián)系電話endl;coutti;temp=i;if(temp=-1000)coutendlendl 學號為 nu 的學生不存在 !endl; getchar();void search

16、_ban(student t,int n)實用文檔int i,ba,temp=-1000;system(cls);cout 請輸入查找學生的班級號:ba;cout 該 學生信息為: endl 姓名 性別 學 號 班級 聯(lián)系電話 endl;for(i=0;in;i+)if(ba=ti.getban()coutti;temp=i;if(temp=-1000)coutendlendl 班級為 ba 的學生不存在 !endl; getchar();void search_name(student t,int n)int i,temp=-1000;char na20;system(cls);cout 請

17、輸入查找學生的姓名:na;for(i=0;in;i+)if(strcmp(na,ti.getname()=0)cout 該學生信息為:endl 姓名性別學號班級聯(lián)系電話endl;coutti;temp=i;if(temp=-1000)coutendlendl 姓名為 na 的學生不存在 !endl; getchar();void sort(student t,int n)student p;int s;system(cls);cout 請選擇升序或降序 (1 或 2):s;if(s=1)cout 按學號排序(升序)完成如下:endl;實用文檔for(int i=0;in-1;i+)for(in

18、t j=0;jtj+1.getnum()p=tj;tj=tj+1;tj+1=p;cout 姓名 性別 學號 班級 聯(lián)系電話 endl; for(int a=0;an;a+)coutta;if(s=2)cout 按學號排序(降序)完成如下: endl; for(int i=0;in-1;i+)for(int j=0;jn-1-i;j+)if(tj.getnum()tj+1.getnum()p=tj;tj=tj+1;tj+1=p;cout 姓名 性別 學號 班級 聯(lián)系電話 endl;for(int a=0;an;a+)coutta;getchar();void count(student t,in

19、t n)int i,c,temp=-1000;system(cls);fstream fs;fs.open(c:item.txt,ios:in);實用文檔cout 請輸入想統(tǒng)計人數的班級:c;int s=0;for(i=0;iti;if(c=ti.getban()s+;temp=i;cout 該班級人數為: sendl;fs.close();if(temp=-1000)coutendlendl 班級為 c 的學生不存在 !endl; getchar();void change(student t,int n)int id,i,temp=-1000,run=0;system(cls);cout

20、請輸入要修改的學生的學號:id;fstream fs;fs.open(c:item.txt,ios:in|ios:out);for(i=0;in;i+)if(id=ti.getnum()cout 修改前該學生信息為:endl 姓名 性別 學號班級 聯(lián)系電話 endl;coutti;temp=i;run=2000;fs.close();if(run=2000)fs.open(c:item.txt,ios:in|ios:out);cout 請輸入你修改該學生的信息為:endl 姓名性別學號班級聯(lián)系電話 ti;fsti;實用文檔fs.close();cout 修改成功! endl;if(temp=-1000)coutendlendl 姓名為 id 的學生不存在 !endl; getchar();int del(student t,int n)int ber,temp=-1000,run=0;int i,j,nu;system(cls);cout 請輸入要刪除的學生的學號:ber;for(i=0;in;i+)if(ber

溫馨提示

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

最新文檔

評論

0/150

提交評論