學(xué)生信息管理系統(tǒng)C++設(shè)計_第1頁
學(xué)生信息管理系統(tǒng)C++設(shè)計_第2頁
學(xué)生信息管理系統(tǒng)C++設(shè)計_第3頁
學(xué)生信息管理系統(tǒng)C++設(shè)計_第4頁
學(xué)生信息管理系統(tǒng)C++設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué)生信息管理C+類設(shè)計目錄1、 緒論1.1 設(shè)計目的1.2 設(shè)計環(huán)境1.3 課題設(shè)計意義2、需求分析2.1 問題描述2.2 功能要求3、系統(tǒng)設(shè)計3.1 系統(tǒng)整體簡介3.2 系統(tǒng)結(jié)構(gòu)圖3.3系統(tǒng)流程圖4、系統(tǒng)測試5、 遇到問題與解決方案6、心得體會1 緒論1.1設(shè)計目的1.1.1要求學(xué)生熟練掌握C+語言的基本知識和技能。1.1.2基本掌握面向?qū)ο蟪绦蛟O(shè)計的基本思路和方法。1.1.3能夠利用所學(xué)的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計問題。1.2設(shè)計環(huán)境帶有Microsoft Visual C+6.0的筆記本,鼠標(biāo)。1.3課題設(shè)計意義實現(xiàn)對學(xué)生信息的統(tǒng)一管理,從而提高管理人員的工作效率。2 需

2、求分析2.1 問題描述 學(xué)生信息包括學(xué)號、姓名、性別、班級、專業(yè)、身份證號、家庭住址。設(shè)計管理系統(tǒng)對學(xué)生的信息的管理。2.2 功能要求程序的主要功能有: 錄入學(xué)生信息; 修改學(xué)生信息; 查詢學(xué)生信息 刪除學(xué)生信息;顯示學(xué)生信息;3 系統(tǒng)設(shè)計3.1 系統(tǒng)整體簡介3.1.1 建立一個學(xué)生類,類中含有學(xué)生的基本信息 no(學(xué)號)、 name30(姓名)、 I DN20 (身份證號碼、 house30 (家庭住址)、age (年齡)、 profession30(專業(yè)),對于每一個學(xué)生都對應(yīng)此六項基本學(xué)生信息。3.1.2 以提示加數(shù)字選擇的方式來實現(xiàn)一級菜單和二級菜單。 1錄入學(xué)生信息à(輸入

3、學(xué)生具體信息) 2.修改學(xué)生信息à(輸入學(xué)號、姓名查看學(xué)生信息)3.1.3主函數(shù)創(chuàng)建一級菜單 à3.查尋學(xué)生信息à(可以修改地址、姓名等屬性) 4.刪除學(xué)生信息à(根據(jù)學(xué)號和姓名、刪除學(xué)生信息) 5.查看全部學(xué)生信息 6.退出程序3.2系統(tǒng)結(jié)構(gòu)圖 退出按學(xué)號刪除查看全部學(xué)生信息 按姓名刪除刪除學(xué)生信息按學(xué)號查詢按身份證查詢查詢學(xué)生信息按姓名查詢修改學(xué)號主菜單修改姓名修改班級修改專業(yè)修改學(xué)生信息修改家庭住址修改身份證修改年齡錄入學(xué)生信息 圖 (一) 學(xué)生信息系統(tǒng)框架圖3.1 系統(tǒng)流程圖開始定義變量數(shù)據(jù)處理主菜單輸入menumenu>=1|menu&l

4、t;=6NY6.退出程序5.查看全部學(xué)生信息4.刪除學(xué)生信息3.查看學(xué)生信息2.修改學(xué)生信息1.錄入學(xué)生信息退出系統(tǒng) 圖 (二) 學(xué)生信息系統(tǒng)主菜單主菜單修改學(xué)生信息開始定義變量數(shù)據(jù)處理修改主頁面輸入Qmenu>=1|menu<=8Y8.返回主菜單7.修改身份證號碼6.修改年齡5.修改家庭住址4.修改班級3.修改專業(yè)2.修改姓名1.修改學(xué)號 圖 (三) 修改學(xué)生信息4 系統(tǒng)測試4.1 學(xué)生類定義 class Student /定義一個學(xué)生的信息public:Student(); Student();void insert();int GetNo()return No;char *

5、GetName()return Name;char * GetProfession()return Profession;int GetClass()return Class;char * GetAddress()return Address;char * GetID()return ID;int GetYear()return Year;void changeNo(long int n);void changeName(char *N);void changeProfession(char *P);void changeClass(int n);void changeAddress(char

6、 *n);void changeID(char *n);void changeYear(int n);void showstudentinformation(); /顯示學(xué)生信息void changestudentinformation(long int id,char *N,char *P,int C,char *A,int Y,char *I); /修改學(xué)生信息private: long int No; /學(xué)號 char Name30; /姓名 char Profession30; /專業(yè) int Class; /班級 char Address30; /家庭住址 int Year ; /年

7、紀(jì) char ID30; /身份證號;學(xué)生類主要包含學(xué)生屬性:學(xué)號、姓名、專業(yè)、班級、家庭住址、年齡、身份證號。學(xué)生類的析構(gòu)函數(shù),默認(rèn)構(gòu)造函數(shù),屬性返回函數(shù),屬性修改函數(shù),顯示函數(shù),寫入信息函數(shù),修改函數(shù)都為Public,而屬性都為私有類型,除類成員函數(shù)外,不可修改。4.2 系統(tǒng)界面系統(tǒng)主界面主要內(nèi)容為用戶提供一個整體的功能選項,進入界面,根據(jù)使用者需要的需求,按照要求輸入選擇序號。主界面主要包括錄入學(xué)生信息,修改學(xué)生信息,查詢學(xué)生信息,刪除學(xué)生信息,查看全部學(xué)生信息,退出功能選項。其主要代碼如下:labl: void MasterMenu(void)/loop: cout<<&q

8、uot;*"<<endl;cout<<" 歡迎進入學(xué)生信息系統(tǒng) "<<endl; cout<<" 1: 錄入學(xué)生信息 2:修改學(xué)生信息 "<<endl;cout<<" 3: 查詢學(xué)生信息 4:刪除學(xué)生信息 "<<endl;cout<<" 5: 查看全部學(xué)生信息 6: 退出 "<<endl; cout<<"*"<<endl; /顯示主菜單 cout<&

9、lt;"請選擇系統(tǒng)功能"<<endl<<endl; cin>>menu;其執(zhí)行代碼,顯示如下界面: 圖(四) 主界面 顯示進入菜單頁面,根據(jù)你要的功能,menu為1,表示為錄入學(xué)生信息,menu為2表示可以修改學(xué)生信息,menu為3和5可以查詢學(xué)生的信息,menu為4表示可以刪除學(xué)生信息,menu為6就退出整個系統(tǒng)。4.3 錄入學(xué)生信息使用者第一次進入系統(tǒng)時,都需要錄入學(xué)生信息,當(dāng)前的人數(shù)大于所定義的最大人數(shù)時,系統(tǒng)會提示系統(tǒng)容量不足,不會錄入信息。當(dāng)人數(shù)小于所定義的最大人數(shù)時,添加一個學(xué)生類,并且輸入學(xué)生信息,當(dāng)添加一個學(xué)生后,還要繼續(xù)

10、添加,則輸入N,否則輸入Y,退出添加學(xué)生信息,并且退出主界面。主要代碼如下:int i=0;char Q; for(;) if(up<MAXNUM) studentsup= new Student(); /添加錄入 studentsup->insert(); up+; cout<<"Y:退出錄入系統(tǒng);N:繼續(xù)錄入學(xué)生信息"<<endl; cin>>Q; if(Q='Y') goto labl; else cout<<"Waring:系統(tǒng)容量不足,不能在錄入學(xué)生信息!"<&l

11、t;endl; ; goto labl;執(zhí)行到相關(guān)代碼處,顯示如下圖五; 圖(五) 錄入學(xué)生信息界面并且根據(jù)提示信息輸入學(xué)號,姓名,專業(yè),班級,年齡,身份證,家庭住址。如果想繼續(xù)錄入學(xué)生信息,則輸入N,如果不想錄入學(xué)生信息,則輸入Y退出到主界面。當(dāng)錄入的學(xué)生人數(shù)超過了系統(tǒng)容量時,系統(tǒng)會報Waning不能再錄入學(xué)生。4.4 修改學(xué)生信息4.4.1 修改學(xué)生信息界面主要包括八個選項:修改學(xué)號、修改姓名、修改專業(yè)、修改班級、就改家庭住址、修改年齡、修改身份證、返回主菜單。根據(jù)需要功能選擇功能。 int Q;labl1: cout<<" 歡迎進入修改學(xué)生信息頁面 "&l

12、t;<endl<<endl;cout<<" 1:修改學(xué)號; 2:修改姓名 3:修改專業(yè) "<<endl; cout<<" 4:修改班級; 5:修改家庭住址 6:修改年齡 "<<endl;cout<<" 7:修改身份證號碼; 8:返回上一級菜單 "<<endl;cout<<"請輸入選項: "cin>>Q;cout<<endl;運行到相關(guān)程序顯示如下圖六:圖(六) 修改學(xué)生信息界面在主菜單中選擇

13、2,進入到修改頁面,修改頁面主要是修改學(xué)號、修改姓名、修改專業(yè)、修改班級、修改家庭住址、修改年齡、修改身份證、返回上一級。4.4.2 修改學(xué)號主代碼 cout<<"請輸入查找的學(xué)號"<<endl;cin>>NUM;for(int i=0;i<up;i+) if(studentsi->GetNo()=NUM)cout<<"請輸入修改的學(xué)號"<<endl;cin>>dst; studentsi->changeNo(dst); break; 運行到相關(guān)程序顯示如下圖七:

14、圖(七) 修改學(xué)生信息選擇功能1,,按照學(xué)號查找,輸入學(xué)號,在for循環(huán)中查找,找到就提示信息:“請輸入修改的學(xué)號”,否則就會報警,沒有此人。4.4.3 修改姓名主要代碼 int i; char name30,ddst30;cout<<"請輸入查找的姓名"<<endl;cin>>name;for(i=0;i<up;i+)if(strcmp(studentsi->GetName(),name)=0) cout<<"請輸入修改的姓名"<<endl;cin>>ddst; stu

15、dentsi->changeName(ddst); break;4.4.4 修改專業(yè) int i; char Profession30,dsst30; /專業(yè) long int dst; cout<<"請輸入查找的學(xué)號"<<endl;cin>>dst;for(i=0;i<up;i+)if(studentsi->GetNo()=dst)cout<<"請輸入修改的專業(yè)"<<endl;cin>>dsst;studentsi->changeProfession(dss

16、t); break;4.4.5 修改班級int i; int Class,dstt; /班級 long int NUM;cout<<"請輸入查找的學(xué)號"<<endl;cin>>NUM;for(i=0;i<up;i+)if(studentsi->GetNo()=NUM)cout<<"請輸入修改的班級"<<endl;cin>>dstt;studentsi->changeClass(dstt); break;4.4.6 修改家庭住址int i; char Address3

17、0,Add30; /家庭住址 long int NUM; cout<<"請輸入查找的學(xué)號"<<endl;cin>>NUM;for(i=0;i<up;i+)if(studentsi->GetNo()=NUM)cout<<"請輸入修改的家庭住址"<<endl; cin>>Add; studentsi->changeAddress(Add);break;4.4.7 修改年齡int i, Year ,year ; /年紀(jì) long int NUM;cout<<&

18、quot;請輸入查找的學(xué)號"<<endl;cin>>NUM;for(i=0;i<up;i+)if(studentsi->GetNo()=NUM) cout<<"請輸入修改的年齡"<<endl;cin>>year; studentsi->changeYear(year);break;4.4.8 修改身份證號碼int i;char ID30,id30; /身份證號 long int NUM;cout<<"請輸入查找的學(xué)號"<<endl;cin>

19、;>NUM;for(i=0;i<up;i+)if(studentsi->GetNo()=NUM)cout<<"請輸入修改的身份證號碼"<<endl;cin>>id; studentsi->changeID(id);break;4.5 查詢學(xué)生信息4.5.1 按學(xué)號查詢 int i; long int NUM;cout<<"請輸入學(xué)號"<<endl;cin>>NUM;for(i=0;i<up;i+)if(studentsi->GetNo()=NUM)

20、 studentsi->showstudentinformation(); break;4.5.2 按姓名查詢 int i;char name30;cout<<"請輸入姓名"<<endl;cin>>name;for(i=0;i<up;i+)if(strcmp(studentsi->GetName(),name)=0) studentsi->showstudentinformation();break;運行到相關(guān)程序顯示如下圖八: 圖(八) 查詢學(xué)生信息 在查詢學(xué)生信息界面,選擇輸入1,則按照學(xué)號進行查詢;選擇2,則

21、按照姓名進行查詢;選擇3,則按照身份證進行查詢;選擇4,返回主菜單。4.6 刪除學(xué)生信息刪除學(xué)生信息主要是按姓名刪除和按學(xué)號刪除,因為這兩個屬性幾乎是獨一的,沒有重復(fù)。輸入要刪除的學(xué)號,或者姓名,則刪除這個學(xué)生的全部信息。其主要代碼如下:Intc4;cout<<endl<<endl;labl3: cout<<" 歡迎進入刪除界面 "<<endl<<endl; cout<<" 1. 按學(xué)號刪除; 2. 按姓名刪除 "<<endl; cout<<" 3.

22、 返回上級 "<<endl; cout<<" 你的選擇:" cin>>c4; switch(c4) case 1: long int xuehao; int j; cout<<"輸入學(xué)生的學(xué)號:" cin>>xuehao; for(j=0;j<up;j+) if(studentsj->GetNo()=xuehao)for(int del=j;del<up;del+) studentsdel=studentsdel+1; up-; cout<<"

23、n成功刪除.!n" ;cout<<endl<<endl;goto labl3 ; case 2: char ming20; int j; cout<<"輸入學(xué)生的姓名:" cin>>ming; for(j=0;j<up;j+) if(strcmp(studentsj->GetName(),ming)=0) for(int del=j;del<up;del+) studentsdel=studentsdel+1; up-; cout<<" n成功刪除.!n"cout&l

24、t;<endl<<endl;goto labl3;default:goto labl; 運行到相關(guān)程序顯示如下圖九: 圖(九) 刪除學(xué)生信息 刪除學(xué)生信息可以按照學(xué)號刪除,也可以按照姓名刪除學(xué)生信息,有時你只記的別人的學(xué)號時,可以采用學(xué)號刪除,選擇3,則是返回主菜單。4.7 查看學(xué)生信息查看學(xué)生信息主要是查看當(dāng)前全部學(xué)生的信息。其主要代碼如下:cout<<"1: 查看全部學(xué)生信息 ; 2: 返回主菜單"<<endl;cout<<"請選擇"<<endl;cin>>N;switch

25、(N) case 1: showmenu(); /顯示菜單for(i=0;i<up;i+) /顯示已錄入學(xué)生信息studentsi->showstudentinformation();/顯示當(dāng)前學(xué)生信息;cout<<endl<<endl;goto labl4; 運行到相關(guān)程序顯示如下圖十: 圖 ( 十 ) 查看全部學(xué)生信息 查詢學(xué)生信息,此界面是顯示當(dāng)前所有學(xué)生的信息,改后的信息,改前的信息,只要保存,調(diào)用顯示函數(shù),就可以顯示學(xué)生的屬性。4.8 退出系統(tǒng)退出系統(tǒng)及提示信息的主要代碼如下: cout<<"謝謝使用本系統(tǒng)!" &l

26、t;<endl; cout<<endl<<endl; break;運行到相關(guān)程序顯示如下圖十一: 圖(十一) 退出界面退出學(xué)生管理系統(tǒng),當(dāng)選擇6時,系統(tǒng)執(zhí)行到這條程序,就跳出界面。5 遇到問題及解決方案5.1.1 goto語句的使用 錯誤代碼:labl MasterMenu(); /顯示主菜單.goto labl ; Goto跳轉(zhuǎn)語句,必須定義一個標(biāo)簽才能跳轉(zhuǎn)到標(biāo)簽所在行,錯誤的原因標(biāo)簽的語法錯誤,上面所用到的標(biāo)簽相當(dāng)于一個無用的,但是會報錯的語句,正確使用是 labl :后面加冒號,就可以使用。5.1.2 字符數(shù)組賦值字符數(shù)組賦值應(yīng)使用strcpy,不能直接用賦

27、值符號,不能犯語法錯誤如:修改學(xué)生身份證號碼源代碼case 2: cout<<"請輸入學(xué)生新的身份證號碼n" cin>>ch3; strcpy(stutemp.IDNo,ch3); /字符數(shù)組賦值 break;5.1.3 數(shù)據(jù)溢出問題錯誤代碼: private: int No; /學(xué)號 char Name30; /姓名 char Profession30; /專業(yè) int Class; /班級 char Address30; /家庭住址 int Year ; /年紀(jì) char ID30; /身份證號;Int 表示整形2個字節(jié),最大表示65535,而我們輸入的學(xué)號為20105611,已經(jīng)超出了其最大值,所以定義的類型改為long int。5.1.4 字符串輸出 錯誤代碼:cout<<Student:No<<" "<<*(Student:Name)<<" "<<*(Student:Profe

溫馨提示

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

評論

0/150

提交評論