C++學籍管理系統(tǒng)_第1頁
C++學籍管理系統(tǒng)_第2頁
C++學籍管理系統(tǒng)_第3頁
C++學籍管理系統(tǒng)_第4頁
C++學籍管理系統(tǒng)_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+學生學籍管理系統(tǒng)1、基本要求:為方便管理一個班同學的學籍,編寫一個學籍管理系統(tǒng)軟 件。系統(tǒng)記錄必須包括學生姓名、學號、數(shù)學、物理、化學、英語、網(wǎng)絡 等課程成績。2、基本管理功能:(1)添加:增加一個同學的記錄到管理系統(tǒng)中。(2)查詢:可以根據(jù)姓名或學號查找某人的相關信息,若找到則顯示其 信息。(3)修改:在管理系統(tǒng)中修改一個同學的記錄。(4)保存:將所有學生學籍信息保存在一個文件中(數(shù)據(jù)庫文件或普通 的文本文件)。(5)讀取:從文件中讀取已保存了數(shù)據(jù)。(6)刪除:從管理系統(tǒng)中刪除一條記錄。(7)恢復:能恢復被刪除的記錄。(8) 統(tǒng)計:(A)計算各門課程全班平均成績及總成績;(B)統(tǒng)計其課程

2、全班得:100 分、90 :99 分、80:89 分、7079 分、60:69 分、59 分 以下學生人數(shù)及全班總人數(shù)的百分比;(C)以表格形式打印全部學生的平均成績(?包括各課總的平均成績)。(9)其他:可以根據(jù)自己的思路設計其他功能。PS:我們報告是手寫的,所以報告沒有弄上來,不過源程序大家可以看一下, 下面是運行的界面剩下的功能大家自己試吧,這里就不截圖了。源程序:(頭文件 #include stdafx.h 和主函數(shù) int main(int argc, char* argv) 是建工程時自帶的,把之前的清掉后直接復制即可) #include stdafx.h#include #inc

3、lude #include#include#include#include #include using namespace std;int n=0,u=0;int number56=0,0,0,0,0; / 各門學科分段成績的人 數(shù)double point56=0,0,0,0,0;double eva5=0,0,0,0,0;string find_name;string find_num;int p;void search(string);void search(int);void cunqu_data();/*存取文件 */void save_data();/*保存文件 */void re

4、ad_data();/*讀取文件 */void renew_data();/*刪除恢復 */void delete_data(int m);/*刪除記錄 */void recover_data();/*恢復記錄 */void set_eva2();/*課程的平均成績 */void put_result1();void put_result2();void put_result3();class Student/*定義一個 Student 類*/public:Student();/*構造函數(shù) */void set_eva();friend void set_massage(int m,Stude

5、nt j);/*友元函數(shù) */friend void add_massage(int m,Student j);/*友元函數(shù) */friend void put_massage(int m,Student j);friend void change_data(int m,Student j);/*修改學生信息 */friend void search_data();/*查找學生信息 */friend void search_name(string name);friend void search_num(string num);friend void set_number();friend v

6、oid set_point();friend void save_data();/*保存文件 */friend void read_data();/*friend void delete_data(int m);/*friend void recover_data();/*/*姓名*/學號*/性別*/學習水平 */數(shù)學成績 */物理成績 */化學成績 */英語成績 */網(wǎng)絡成績 */定義構造函數(shù) */friend void set_eva2(); friend void put_result1(); private:string name; /*string num; /* string se

7、x; /* double eva; /*double shuxue; /*double wuli; /*double huaxue; /*double yingyu; /* double wangluo; /* stud200,studl200; Student:Student() /* name=wu; num=wu; sex=wu;讀取文件 */刪除記錄 */恢復記錄 */課程的平均成績 */shuxue=0;wuli=0;huaxue=0;yingyu=0;wangluo=0;void Student:set_eva() / 計算平均成績 eva=(shuxue+wuli+huaxue+

8、yingyu+wangluo)/5;void set_massage(int m,Student j)int i;for(i=0;im;i+)cout 輸入第 i+1 個學生的信息 endl;cout 姓名 學號 性別 數(shù)學成績 物理成績 化學成績 英語成績 網(wǎng)絡成績 ji.numji.sexji.shuxueji.wuliji. huaxueji.yingyuji.wangluo;coutn;system(cls);void add_massage(int m,Student j)/ 增加學生信息int i;for(i=n;in+m;i+)cout 輸入第 i+1 個學生的信息

9、 endl;cout 姓名 學號 性別 數(shù)學成績 物理成績 化學成績 英語成績 網(wǎng)絡成績 ji.numji.sexji.shuxueji.wuliji. huaxueji.yingyuji.wangluo;system(cls);n=n+m;void change_data(int m,Student j)/ 修改學生信息if(m=0|mn)cout 輸入錯誤! endl;getch();elsecoutendl;cout 輸入該同學的新學籍信息 endl;cout endl;cout 姓名 學號 性別 數(shù)學成績 物理成績 化學成績 英語成 績 網(wǎng)絡成績 jm-

10、1.numjm-1.sexjm-1.shuxuejm-1.w ulijm-1.huaxuejm-1.yingyujm-1.wangluo;system(cls);coutendlendlendlendlendlendlendlendlendlendlvendlvv修改成功A_A,按任意鍵返回主菜單endl;getch();void put_massage(int m,Student j)int i;coutvvvvendl;coutvvI序號I姓 名I 學 號 |性別|數(shù)學|物理|化學丨英語丨網(wǎng)絡丨e ndl;coutvvI I I I I I I I I I vvendl;for(i=0;i

11、vm;i+)coutvvI ;coutvvvvsetfill(0)vvsetw(3)vvsetiosflags(ios:left)vvsetiosflags(ios:fixed)vvsetprecision(0)vvi+1;coutvvI ;coutvvsetfill(0)setw(7)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0);cout| ;coutsetfill(0)setw(10)setiosflags(ios:left)setiosflag s(ios:fixed)setprecision(0)ji

12、.num;cout| ;coutsetfill(0)setw(3)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(0)ji.sex;cout| ;coutsetfill(0)setw(3)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(0)ji.shuxue;cout| ;coutsetfill(0)setw(3)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(0)ji.wuli;cout| ;co

13、utsetfill(0)setw(3)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(0)ji.huaxue;cout| ;coutsetfill(0)setw(3)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(0)ji.yingyu;cout| ;coutsetfill(0)setw(3)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.wangluo;cout| ;coutn;coutv

14、vI I I I I I II II endl;void search_data()/ 查找功能char a; for(a=0;a=0|a!=4;)system(cls);cout1. 按姓名查找 endl2. 按學號查找 endl3. 輸出所有學生 信息 endl4. 返回主菜單 a;system(cls);switch(a) case 1:coutfind_name;search_name(find_name);break;case 2:coutfind_num;search_num(find_num);break;case 3:coutendl;cout學生學籍信息endl;put_ma

15、ssage(n,stud);getch();break;case 4:break;default:coutendlendlendlendlendlendlendlendl endlendlendl 錯誤指令!按任意鍵返 回。 endl;getch();break;void search_name(string name)/ 按姓名查找int i;bool flag=false;for(i=0;in;i+)if(=name)coutendl;coutvvI序號I姓 名I 學 號 |性別|數(shù)學|物理I化學丨英語丨網(wǎng)絡丨e ndl;coutI I I I I I I I I I

16、endl;coutI ;coutsetfill(0)setw(3)setiosflags(ios:left)i+1;coutIcoutsetfill(0)setw(7)setiosflags(ios:left);coutvv I coutsetfill(0)setw(10)setiosflags(ios:left)studi.nu m;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.sex;co ut I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.shux

17、ue ;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.wuli;c out I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.huaxue ;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.yingyu ;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.wanglu o;cout I ;coutn;coutvvI I I I I I I endl;fl

18、ag=true;break;if(flag=false)cout 對不起,暫無此學生信息 ;getch();void search_num(string num)/ 按學號查找int i;bool flag=false;for(i=0;in;i+)if(studi.num=num)coutendl;coutvvI序號I姓 名I 學 號 I性別I數(shù)學I物理I化學I英語I網(wǎng)絡I vve ndl;coutvvI I I I I I vvendl;coutvv;coutvvsetfill(0)setw(3)setiosflags(ios:left)i+1;coutcoutsetfill(0)setw(

19、7)setiosflags(ios:left);c outvv I ;coutsetfill(0)setw(10)setiosflags(ios:left)studi.nu m;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.sex;co ut I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.shuxue ;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.wuli;c out I ;coutse

20、tfill(0)setw(3)setiosflags(ios:left)studi.huaxue ;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.yingyu;cout I ;coutsetfill(0)setw(3)setiosflags(ios:left)studi.wanglu o;cout I ;coutn;coutvvI I I I _ endl;flag=true;break;if(flag=false)cout 對不起,暫無此學生信息 ;getch();void set_number()/number 開始int

21、e,f,i,t;for(e=0,f=0,t=0,i=0;in;i+) /100if(studi.shuxue=100)t+;numberef=t;for(e=1,f=0,t=0,i=0;in;i+)if(studi.wuli=100)t+; numberef=t; for(e=2,f=0,t=0,i=0;in;i+) if(studi.huaxue=100) t+; numberef=t;for(e=3,f=0,t=0,i=0;in;i+) if(studi.yingyu=100) t+; numberef=t;for(e=4,f=0,t=0,i=0;in;i+) if(studi.wangl

22、uo=100) t+; numberef=t;for(e=0,f=1,t=0,i=0;i=90&studi.shuxue=99) t+;numberef=t;for(e=1,f=1,t=0,i=0;i=90&studi.wuli=99) t+;numberef=t;for(e=2,f=1,t=0,i=0;i=90&studi.huaxue=99) t+;numberef=t;for(e=3,f=1,t=0,i=0;i=90&studi.yingyu=99) t+;numberef=t;for(e=4,f=1,t=0,i=0;i=90&studi.wangluo=99) t+;numberef=

23、t;for(e=0,f=2,t=0,i=0;i=80&studi.shuxue=89)t+;numberef=t;for(e=1,f=2,t=0,i=0;i=80&studi.wuli=89)t+;numberef=t;for(e=2,f=2,t=0,i=0;i=80&studi.huaxue=89) t+;numberef=t;for(e=3,f=2,t=0,i=0;i=80&studi.yingyu=89)t+;numberef=t;for(e=4,f=2,t=0,i=0;i=80&studi.wangluo=89)t+;numberef=t;for(e=0,f=3,t=0,i=0;i=9

24、0&studi.shuxue=99) t+;numberef=t;for(e=1,f=3,t=0,i=0;i=70&studi.wuli=79)t+;numberef=t;for(e=2,f=3,t=0,i=0;i=70&studi.huaxue=79) t+;numberef=t;for(e=3,f=3,t=0,i=0;i=70&studi.yingyu=79) t+;numberef=t;for(e=4,f=3,t=0,i=0;i=70&studi.wangluo=79) t+;numberef=t;for(e=0,f=4,t=0,i=0;i=60&studi.shuxue=69) t+;

25、numberef=t;for(e=1,f=4,t=0,i=0;i=60&studi.wuli=69)t+;numberef=t;for(e=2,f=4,t=0,i=0;i=60&studi.huaxue=69) t+;numberef=t;for(e=3,f=4,t=0,i=0;i=60&studi.yingyu=69)t+;numberef=t;for(e=4,f=4,t=0,i=0;i=60&studi.wangluo=69) t+;numberef=t;for(e=0,f=5,t=0,i=0;i=0&studi.shuxue=59) t+;numberef=t;for(e=1,f=5,t

26、=0,i=0;i=0&studi.wuli=59)t+;numberef=t;for(e=2,f=5,t=0,i=0;i=0&studi.huaxue=59)t+;numberef=t;for(e=3,f=5,t=0,i=0;i=0&studi.yingyu=59)t+;numberef=t;for(e=4,f=5,t=0,i=0;i=0&studi.wangluo=59) t+;numberef=t;void set_point() /pointint e,f;for(e=0;e5;e+)for(f=0;f6;f+)pointef=numberef/(n*1.0)*100;void set_

27、eva2() /* 課程的平均成績 */ double s;int i;for(i=0,s=0;in;i+)s=s+studi.shuxue;eva0=s/(n*1.0);for(i=0,s=0;in;i+)s=s+studi.wuli;eva1=s/(n*1.0);for(i=0,s=0;in;i+)s=s+studi.huaxue;eva2=s/(n*1.0);for(i=0,s=0;in;i+)s=s+studi.yingyu;eva3=s/(n*1.0);for(i=0,s=0;in;i+)s=s+studi.wangluo;eva4=s/(n*1.0);void put_result

28、() / 輸出統(tǒng)計結果char g;for(g=0;g=0|g!=4;)system(cls);cout1. 查詢每位學生的總平均分 endl2. 查詢各課的成績分布及平 均成績 endl3. 查詢各段成績所占的百分比 endl4. 返回主菜單g;system(cls);switch(g)case 1:put_result1();getch();break;case 2:put_result2();getch();break;case 3:put_result3();getch();break;case 4:break;default:coutendlendlendlendlendlendle

29、ndlendlend lendlendl 錯誤指令!按任意鍵返回。 endl;getch();break;void put_result1()/ 每位學生的總平均分int e;cout 學生的總平均分endl;coutendl;coutvv丨姓名丨平均成績|endl;coutendl;for(e=0;en;e+)coutvvI;coutsetfill(0)setw(6)setiosflags(ios:right)I;coutsetfill(0)setw(6)setiosflags(ios:right)stude.eva I endl;coutI I Iendl;void p

30、ut_result2() / 輸出統(tǒng)計結果 2int e,f;cout各課的成績分布及平均成績endl;coutendl;coutvvI 課程 I 100 I 9099 I 80 89 I 7079 I 60 69 I 60以下I平均分I endl;coutvvI I I I I I學|;cout理|;cout學|;cout語|;cout絡|coutvv|”;cout數(shù);for(e=0,f=0;f6;f+)coutsetfill(0)setw(4)setiosflags( ios:right)numberef|setfill(0)setw(5)setiosflags(ios:left)seti

31、osflags(io s:fixed)setprecision(1)eva0| endl;cout|;cout 物;for(e=1,f=0;f6;f+)coutsetfill(0)setw(4)setiosflags( ios:right)numberef|setfill(0)setw(5)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(1)eva1| endl;cout|;cout 化;for(e=2,f=0;f6;f+)coutsetfill(0)setw(4)setiosflags( ios:right)numberef|

32、setfill(0)setw(5)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(1)eva2| endl;cout|;cout 英;for(e=3,f=0;f6;f+)coutsetfill(0)setw(4)setiosflags( ios:right)numberef|setfill(0)setw(5)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(1)eva3| endl;cout|;cout 網(wǎng);for(e=4,f=0;f6;f+)coutsetfill

33、(0)setw(4)setiosflags(ios:right) nu mberefvv|;coutsetfill(0)setw(5)setiosflags(ios:left)setiosflags(io s:fixed)setprecision(1)eva4| endl;cout| | | | | | | | endl;void put_result3() / 輸出統(tǒng)計結果 3int e,f;cout各段成績所占的百分比endl;cout endl;cout| 課程 |100| 9099 | 80 89 | 7079 | 60 69| 60 以下|平均分| endl;cout| | | |

34、| | | | endl;cout|;cout 數(shù) 學 |;for(e=0,f=0;f6;f+)coutsetfill(0)setw(5)setiosflags( ios:right)pointef|;coutsetfill(0)setw(5)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(1)eva0endl;cout;cout 物;for(e=1,f=0;f6;f+)coutsetfill(0)setw(5)setiosflags(ios:right)pointefsetfill(0)setw(5)setiosflags(io

35、s:left)setiosflags(ios:fixed)setprecision(1)eva1endl;cout;cout 化;for(e=2,f=0;f6;f+)coutsetfill(0)setw(5)setiosflags(ios:right)pointefsetfill(0)setw(5)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(1)eva2endl;cout;cout 英;for(e=3,f=0;f6;f+)coutsetfill(0)setw(5)setiosflags(ios:right)pointefset

36、fill(0)setw(5)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(1)eva3endl;cout;cout 網(wǎng);for(e=4,f=0;f6;f+)coutsetfill(0)setw(5)setiosflags(ios:right)pointefsetfill(0)setw(5)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(1)eva4endl;cout理 I;cout學I;cout語 I;cout絡 I;cout IIIendl;void cunqu_

37、data() / 存取文件char g;for(g=0;g=0|g!=3;)system(cls);cout1. 保 存 文 件 endl2. 讀 取 文 件 endl3. 返 回 主 菜 單 g;system(cls);switch(g)case 1:save_data();break;case 2:read_data();break;case 3:break;default:coutendlendlendlendlendlendlendlendlend lendlendl 錯誤指令!按任意鍵返回。 endl;getch();break;void save_data() / 保存文件int

38、i;remove( 學生學籍信息 .dat);ofstream outfile( 學生學籍信息 .dat,ios:out);if(outfile=0)cerr 打開失??! endl;exit(1);elsefor(i=0;in;i+) ;outfilestudi.num ;outfilestudi.sex ;outfilestudi.shuxue ;outfilestudi.wuli ;outfilestudi.huaxue ;outfilestudi.yingyu ;outfilestudi.wangluo ;n=i;coutendlendlendlendl

39、endlendlendlendlendlendlendl保存成功A_A,按任意鍵返回主菜單endl;outfile.close();getch();void read_data() / 讀取文件 int i;ifstream infile( 學生學籍信息 .dat,ios:in); if(!infile)cerr 打開失敗! endl;exit(1);else for(n=0,i=0;; infilestudi.num; infilestudi.sex;infilestudi.shuxue; infilestudi.wuli;infilestudi.huaxue; inf

40、ilestudi.yingyu; infilestudi.wangluo; n+;if(studi.wangluo=0&studi.wuli=0&studi.huaxue=0) i=200;n-; coutendlendlendlendlendlendlendlendlendlendl vendlvv讀取成功A_A,按任意鍵返回主菜單。h; system(cls);switch(h)case 1:system(cls);coutvvendlvvendlvvendl;coutvv原始學生學籍信息endl;put_massage(n,stud);coutendl;cout輸入您需要刪除的學籍的序號: p;if(pn)coutendl錯誤指令! endl;getch();break; delete_data(p);getch();break;case 2:recover_data();break;case 3:break;default:coutendlendlendlendlendlendlendlendlendlendlendl錯誤指令!按任意鍵

溫馨提示

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

最新文檔

評論

0/150

提交評論