版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、上海電力學(xué)院高級程序設(shè)計(jì)C+課程設(shè)計(jì)題 目:學(xué)生綜合測評系統(tǒng)院 系:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院專業(yè)年級:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名: 學(xué)號: 20111695指導(dǎo)教師:2013年1月目錄目錄21 .需求分析32 .概要設(shè)計(jì)43 .詳細(xì)設(shè)計(jì)64 .用戶使用手冊1.34.1環(huán)境設(shè)置13.4.2操作步驟13.5.程序創(chuàng)新點(diǎn)錯(cuò)誤!未定義書簽6.使用的主要技術(shù)錯(cuò)誤!未定義書簽7.總結(jié)錯(cuò)誤!未定義書簽附錄.錯(cuò)誤!未定義書簽1需求分析本系統(tǒng)旨在便于學(xué)校管理和查閱學(xué)生信息并計(jì)算學(xué)生的考試成績和名次以及綜合測評成績和名次。每個(gè)學(xué)生的信息為:學(xué)號、姓名、 性別、家庭住址、聯(lián)系電話、高等數(shù)學(xué)、物理、英語三門單科成績、 同學(xué)
2、互評分、品德成績、任課教師評分??荚嚻骄煽?、同學(xué)互評分、 品德成績、任課教師評分分別占綜合測評總分的 60% ,10% ,10%, 20%。程序的基本功能:1 .學(xué)生信息處理:(1) 輸入學(xué)生信息、學(xué)號、姓名、性別、家庭住址、聯(lián)系電話,按學(xué)號以小到大的順序存入文件中。(2) 插入(修改)同學(xué)信息。(3) 刪除同學(xué)信息。(4) 瀏覽學(xué)生信息。2 .學(xué)生數(shù)據(jù)處理:(1) 按考試科目錄入學(xué)生成績并且按公式:考試成績=(語文+數(shù)學(xué)+外語)/3計(jì)算考試成績,并計(jì)算考試名次。(2) 學(xué)生測評數(shù)據(jù)輸入并計(jì)算綜合測評總分及名次。(3) 學(xué)生數(shù)據(jù)管理。(4) 學(xué)生數(shù)據(jù)查詢。3.學(xué)生綜合信息輸出2 .概要設(shè)計(jì)根
3、據(jù)需求分析中的描述,知道需要一個(gè)帳戶類型,由于基本數(shù)據(jù) 類型無法實(shí)現(xiàn)將一個(gè)用戶的信息綁定在一起,所以需要定義一個(gè)抽象 數(shù)據(jù)類型帳戶,命名為Student,其定義如下:class Stude ntpublic:int num;/ 學(xué)號stri ng n ame;姓名string sex;/ 性另Ustri ng address;/ 家庭住址stri ng phone;/ 聯(lián)系電話 double en glish;/英語成績double math;/ 數(shù)學(xué)成績 double physics;/物理分?jǐn)?shù)double average;/ 考試成績 double grade1;/同學(xué)互評分double
4、grade2;品德成績double grade3;/任課教室評分double gradesum;/綜合測評成績int rankin g1;/考試名次int rankin g2;/綜合測評名次;為了方便外部函數(shù)進(jìn)行操作,以上全為共有變量。定義一個(gè)對象數(shù)組 Student stud100; 方便對Student類中數(shù)據(jù)進(jìn)行輸入和輸出以及排序等等功能。外部操作函數(shù)有:void read() 從文件中讀取學(xué)生信息函數(shù)void show()/顯示學(xué)生信息函數(shù)void save() 保存學(xué)生信息函數(shù)void SR()輸入學(xué)生信息函數(shù)void SC()刪除學(xué)生信息函數(shù)void TJ()添加學(xué)生信息函數(shù)voi
5、d XG()修改學(xué)生信息函數(shù)void PM1()計(jì)算考試成績以及排名函數(shù)void PM2()計(jì)算綜合測評成績以及排名函數(shù)void sn()按學(xué)生學(xué)號查找學(xué)生信息void sm()按學(xué)生姓名查找學(xué)生信息void Fire()學(xué)生信息管理界面void statistics。/學(xué)生成績統(tǒng)計(jì)管理界面void in quiry()/學(xué)生查詢管理界面void about()/ 關(guān)于系統(tǒng)界面void tha nks()退出程序界面主函數(shù)為學(xué)生測評系統(tǒng)主界面3、詳細(xì)設(shè)計(jì)void read()char file name20;cout<<" 從文件中讀取信息!"<<e
6、 ndl;cout<<" 請輸入文件名:"<<endl; cin> >file name;cout<<"請問要讀取幾名學(xué)生信息:"<<e ndl;cin»n;ifstream in file;in file.ope n( file name,ios:i n|ios:out);if(!i nfile)cerr<<"ope n error!"<<e ndl;exit(1);int i=0;doin file>>studi. num &
7、gt;>studi. name»studi.sex»studi.address>>studi.ph on e>>studi.e nglish»studi.math>>studi.physics»studi.grade1 >>studi.grade2»studi.grade3;i+;while(!i nfile.eof();in file.close();cout<<"讀取成功!"<<endl;以上為讀取文件中學(xué)生信息的函數(shù),當(dāng)信息成功讀取后才可進(jìn)行
8、 修改或添加或刪除,所以在許多外部函數(shù)里面都必須要有讀取函數(shù)的 功能為前提。void save()int i;char file name20;cout<<" 將記錄保存在文件夾!"<<e ndl;cout<<" 請輸入文件名:";cin> >file name;ofstream outfile(file name);if(!outfile)cerr<<"ope n error!"<<e ndl;/保存時(shí)按學(xué)號排序,采用冒泡排序法實(shí)現(xiàn)數(shù)組內(nèi)的排序 for(i=0;
9、i <n ;i+)outfile<<studi. num<<""<<studi. name<<""<<studi.sex<<""<<studi.address<<""<<studi.ph on e<<""<<studi.e nglish<<""<<studi.math<<" "<
10、<studi.physics<<""<<studi.grade1<<""<<studi.grade2<<""<<studi.grade3<<e ndl;outfile.close();cout<<"保存成功!"<<endl;在每次保存時(shí)都先按學(xué)號排序,保證信息是按學(xué)號從小到大的順 序存入文件。在輸入、修改、添加和刪除函數(shù)的末端都有保存函數(shù)以 實(shí)現(xiàn)信息的保存。void XG()read();begin:s
11、tring find_name;int i;cout<<" 請輸入你要修改的學(xué)生名字:"<<e ndl;cin»find_n ame;for(i=0;i< n;i+)if(studi. name=fi nd_n ame)輸出修改前學(xué)生信息if(studi. name!=fi nd_n ame)cout<<"ca n't find this n ame"<<e ndl; cout<<"請重新查找!"<<endl; goto begi n;co
12、ut<<" 請輸入新的信息:"<<endl; cout<<"學(xué)號:"<<' 'ci n> >studi. num;cout<<" 修改成功,是否保存 ?(y/n)"<<e ndl;cin> >press;switch(press)case 'y' : save();break;default: cout<<" 不保存!"break;基于數(shù)組形式對數(shù)據(jù)進(jìn)行修改?;旧纤泻瘮?shù)都是
13、基于數(shù)組進(jìn)行操作,像刪除函數(shù)是用循環(huán)先匹配類中的一個(gè)數(shù)據(jù),找到之后再以此開始用對象數(shù)組后面的替換掉前一個(gè),以實(shí)現(xiàn)刪除功能。stri ng SC_n ame;cout<<"請輸入你要?jiǎng)h除的學(xué)生名字:"<<e ndl;int i=0;cin> >SC_ name;while(studi. name!=SC_ name && i<n)i+;/查找判斷if(studi. name=SC_ name)for(i nt j=i;j <n+1;j+)studi. num=studi+1. num;studi. name=st
14、udi+1. name;考試成績排名和綜合測評成績排名都是采用冒泡排序法實(shí)現(xiàn):double temp100;for(i nt a=0;a< n; a+)/計(jì)算考試成績并賦值給 tempstuda.average=(studa.e nglish+studa.math+studa.physics)/3;tempa=studa.average; double t;for(i nt j=O;j< n;j+)/temp中的考試成績按從大到小冒泡排序for(int k=O;k<n-1-j;k+)f(tempk<tempk+1)t=tempk;tempk=tempk+1;tempk+
15、1=t;for(i nt q=O;q< n;q+)判定考試成績名次for(i nt p=0;p <n; p+)if(studp.average=tempq)studp.ra nkin g1=q+1;最后各種界面函數(shù)通過switch語句進(jìn)行調(diào)用,以實(shí)現(xiàn)各種功能來 完成此系統(tǒng):void Fire()學(xué)生信息管理系統(tǒng)界面 while(choose!=0) /輸出界面樣式略。cout«"tt請輸入0-5之間的任意一數(shù)字:"<<''cin> >choose;switch(choose)case 1:system("
16、;cls");SR();break;case 2:system("cls");SC();break;case 3:system("cls");TJ();break;case 4:system("cls");XG();break;case 5:system("cls");show();break;default:cout<<"tt輸入錯(cuò)誤或返回主界面"<<'n'break;4、用戶使用手冊4.1環(huán)境設(shè)置將已創(chuàng)建擴(kuò)展名為cpp在VC6.0中運(yùn)行即可,
17、如圖所示4.2操作步驟編譯每個(gè)擴(kuò)展名為.cpp的文件,如果有編譯錯(cuò)誤,則根據(jù)提示修改,否則編譯成功。最后編譯、連接和運(yùn)行測試程序文件,輸入數(shù) 據(jù)并測試程序的各種操作。如圖所示plMEtJ ink «ip rtrlr,ElrunjIM 1甲 IfLMfelV "*1*irw iiUFtfuIrMa- Ilin hirirMfirvr lALUM Kt 哼 lap UrM fciriMkBf ”.皿.已屮站1厚 th* UrWilE1JM0 Stll l -r|k .Sh?:i | 山 XftiJ Mgi : id- ;彊 4n壯±00 A © 亍 a=-I
18、6>w|r|(Uiii| - 'QM fkMfinikHjJiFWf-"1X FJem1X FJem«£ ttsminhit *= 訓(xùn)li価* _?«£!7NLIfeMPJ 空.-vtsviLm:w*9!>iisFiirM LunrI Lli*.,i rnwri.h # Mmi«r|« I33-. M 審fe力城町卍即7石尋吒'JU在當(dāng)前的Dos窗口中,輸入要執(zhí)行的功能號碼,如輸入 1,然后 單擊回車,則顯示如圖所示。E、】;誦謹(jǐn)遼iDebug'l.a(才*學(xué)生信息管理«12 3
19、 4 5 0生生土生生 學(xué)逮Z辜 入床北映一齊回 聶刪幫融返§1自3息息*按Sue爛婪*請輸A«-s±i'g的任意一教字=此為學(xué)生信息管理界面,輸入要執(zhí)行的功能號碼,如輸入1,然后單擊回車,則顯示如圖所示。為'農(nóng)蟄密突WebugxLmh闔P擄你的需寥輸入學(xué)牛的能乩亠按提示輸入3個(gè)學(xué)生信息并保存至文件1.txt中,元成后返回學(xué) 生信息管理界面,輸入要執(zhí)行的功能號碼,如輸入5,然后單擊回車, 然后輸入文件名1.txt和要讀取幾名學(xué)生信息,如輸入 3,則顯示如 圖所示。rl-T ;諸謹(jǐn)文書Debuql.exe*1 .txt請問要瀆取幾名學(xué)生信息匕性別家璉
20、地址 聯(lián)茶方武英語宮敘物理冋學(xué)頁評品襟威湍教師評労zvn.llb'iif26111735 2R1丄丄附5壬|、強(qiáng)男12Jb467t*7«&5 Bb MH987CC1324S9金站餌| 省 68735435599S8?85KJCJMJCKXJHJCKJCKJOCKX KW SCXXJi KM! UK KJtKIftKKJCMLKJOCH St MK K3 H H JC JC H X M學(xué)生值剽青餐4Q.思自亠息邕息 j運(yùn)1E-1S-1E-H. 41一廠二 M 生*f按 Fnterf*:M3t:M>E JCKXJiLKK冥風(fēng)鬣算算曹覽>英風(fēng)址耳址毎擁X扯耳XJ
21、f覽比冠貞臺憑托如上所示,按照提示內(nèi)容輸入功能號并回車確認(rèn)就能正確使用本 系統(tǒng)。5、使用的主要技術(shù)文本文件的讀寫、數(shù)組。6、總結(jié)經(jīng)過一個(gè)學(xué)期對C+程序設(shè)計(jì)的學(xué)習(xí),我學(xué)習(xí)到了基本的理 論知識,了解到了 C+語言程序設(shè)計(jì)的思想,這些知識都為我的課 程設(shè)計(jì)和進(jìn)一步學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。在為期一周的的C+課程設(shè)計(jì)中,我體會頗多,學(xué)到了很多東 西。我加強(qiáng)了對C+程序設(shè)計(jì)這門課程的認(rèn)識,并且復(fù)習(xí)了自己以 前學(xué)過的知識。這些都使得我對計(jì)算機(jī)語言的學(xué)習(xí)有了更深入的認(rèn) 識。像學(xué)生測評系統(tǒng)這樣的程序設(shè)計(jì),經(jīng)歷了平時(shí)在課堂和考試中不 會出現(xiàn)的問題和考驗(yàn)。而這些問題,并不是只靠課本就可以輕易解決 的。所以,鍛煉了我們
22、獨(dú)立思考和解決問題的能力。特別是向老師提 問時(shí),老師教會了我調(diào)試程序的方法,讓我更容易發(fā)現(xiàn)自己所犯的錯(cuò) 誤。在老師和同學(xué)的幫助下,通過自己的努力,終于完成了這次學(xué)生 測評系統(tǒng)的課程設(shè)計(jì),雖然還有缺陷,但過程中所摸索到的經(jīng)驗(yàn)是一 筆寶貴的財(cái)富??偠灾?,這次課程設(shè)計(jì)讓我收獲很大。附錄#in clude<iostream>#in clude<fstream>#in clude<stri ng>#in clude<ioma nip>using n amespace std;char press;i nt choose=1;i nt n;class St
23、ude ntpublic:int nu m;學(xué)號stri ng n ame;/姓名stri ng sex;/性別stri ng address;/家庭住址stri ng phone;/聯(lián)系電話double en glish;/英語成績double math;/數(shù)學(xué)成績double physics;/物理分?jǐn)?shù)double average;/考試成績double grade1;/同學(xué)互評分double grade2;/品德成績double grade3;/任課教室評分double gradesum;/ 綜合測評成績int rankin g1;考試名次int rankin g2;綜合測評名次;Stu
24、de nt stud100;/讀取學(xué)生信息 void read()char file name20;cout<<" 從文件中讀取信息!"<<e ndl;cout<<" 請輸入文件名:"<<endl;cin> >file name;cout<<"請問要讀取幾名學(xué)生信息:"<<e ndl;cin»n;ifstream in file;in file.ope n(file name,ios:i n|ios:out);if(!i nfile)cerr
25、<<"ope n error!"<<e ndl;exit(1);int i=0;doin file»studi. num >>studi. name»studi.sex»studi.address>>studi.ph on e>>studi.e nglish»studi.math>>studi.physics»studi.grade1 >>studi.grade2»studi.grade3;i+;while(!i nfile.eof
26、();in file.close();cout<<"讀取成功!"<<endl;/ 顯示學(xué)生信息 void show()read();II教師評分cout<<"學(xué)號"<<"姓名 "<<"性別"<<"家庭地址"<<"聯(lián)系方式<<"英語"<<"高數(shù)"<<"物理"<<"同學(xué)互評"<
27、;<"品德成績"<<" "<<e ndl;for(i nt i=0;i <n ;i+)cout<<studi. num;cout.width(5);cout<<studi. name;cout.width(5);cout<<studi.sex;cout.width(8);cout<<studi.address;cout.width(8);cout<<studi.ph one;cout.width(6);cout<<studi.e nglish;co
28、ut.width(6);cout<<studi.math;cout.width(6);cout<<studi.physics;cout.width(6);cout<<studi.grade1;cout.width(8);cout<<studi.grade2;cout.width(8);cout<<studi.grade3<<e ndl;/保存學(xué)生信息 void save()int i;char file name20;cout<<" 將記錄保存在文件夾 !"<<e ndl;cou
29、t<<"請輸入文件名:";cin> >file name;ofstream outfile(file name);if(!outfile)cerr<<"ope n error!"<<e ndl;/ 保存時(shí)按學(xué)號排序int temp100;for(i nt a=0;a <n; a+)tempa=studa. num;int t;for(i nt j=O;j <n ;j+)for(int k=O;k<n-1-j;k+)if(tempk>tempk+1)t=tempk;tempk=temp
30、k+1;tempk+1=t;int temp num;stri ng temp name;stri ng tempsex;stri ng tempaddress;stri ng tempph one;double tempe nglish;double tempmath;double tempphysics;double tempgrade1;double tempgrade2;double tempgrade3;for(i nt q=0;q<n; q+)for(i nt p=0;p <n; p+)if(studp. num=tempq)temp num=studp. num; t
31、emp name=studp. name; tempsex=studp.sex;tempaddress=studp.address; tempph on e=studp.ph one; tempe nglish=studp.e nglish; tempmath=studp.math; tempphysics=studp.physics; tempgrade仁studp.grade1; tempgrade2=studp.grade2; tempgrade3=studp.grade3; studp. num=studq. num; studp. name=studq. name; studp.se
32、x=studq.sex; studp.address=studq.address; studp.ph on e=studq.ph one; studp.e nglish=studq.e nglish; studp.math=studq.math; studp.physics=studq.physics; studp.grade1=studq.grade2; studp.grade2=studq.grade2; studp.grade3=studq.grade3; studq. num=temp num; studq. name=temp name; studq.sex=tempsex; stu
33、dq.address=tempaddress; studq.ph on e=tempph one; studq.e nglish=tempe nglish; studq.math=tempmath; studq.physics=tempphysics; studq.grade1=tempgrade1; studq.grade2=tempgrade2; studq.grade3=tempgrade3;for(i=0;i< n;i+)outfile<<studi. num<<" "<<studi. name<<"
34、"<<studi.sex<<""<<studi.address<<""<<studi.pho ne<<" "<<studi.e nglish<<" "<<studi.math<<""<<studi.physics<<""<<studi.grade1<<" "<<stud
35、i.grade2<<""<<studi.grade3<<e ndl;outfile.close();cout<<"保存成功!"<<endl;/輸入學(xué)生資料 void SR()cout<<"請根據(jù)你的需要輸入學(xué)生的個(gè)數(shù):";cin»n;for(i nt a=0;a <n; a+)cout<<" 請輸入第"<<a+1<<"個(gè)學(xué)生資料:"<<endl;cout<
36、<"學(xué)號:"<<' 'ci n> >studa. num;cout<<"姓名:"<<''ci n> >studa. name;cout<<"性別:"<<''ci n> >studa.sex;cout<<"家庭住址:"<<''c in> >studa.address;cout<<"聯(lián)系方式:&qu
37、ot;<<' 'ci n> >studa.ph one;cout<<"英語成績:"<<''c in> >studa.e nglish;cout<<"物理成績:"<<' 'ci n> >studa.physics;cout<<"高數(shù)成績:"<<''c in> >studa.math;cout<<"同學(xué)互評:"&l
38、t;<' 'ci n> >studa.grade1;cout<<"品德成績:"<<' 'ci n> >studa.grade2;cout<<"任課教師評分:"<<' 'ci n»stud a .grade3;cout<<"輸入成功,學(xué)生資料是否保存?(y/n)" <<e ndl;cin> >press;switch(press)case 'y' :
39、save();break;default: cout<<" 不保存!"break;/刪除資料void SC()read();dostri ng SC_n ame;cout<<"請輸入你要?jiǎng)h除的學(xué)生名字:"<<e ndl;int i=0;cin> >SC_ name;while(studi. name!=SC_name && i<n)i+;/查找判斷if(studi. name=SC_ name)for(i nt j=i;j <n+1;j+)studi. num=studi+1.
40、num;studi. name=studi+1. name;studi.sex=studi+1.sex;studi.address=studi+1.address;studi.ph on e=studi+1.ph one;studi.e nglish=studi+1.e nglish;studi.math=studi+1.math;studi.physics=studi+1.physics;studi.grade仁studi+1.grade1;studi.grade2=studi+1.grade2;studi.grade3=studi+1.grade3;cout<<"刪除
41、成功!"<<endl;n=n-1;save();else if(i=n)cout<<"ca n't find this n ame"<<e ndl;cout<<"該信息不存在,無法刪除!"<<e ndl;cout<<"(是否繼續(xù)操作?(y/n) )"<<e ndl;cin> >press;while(press='y'|press='Y');/添加學(xué)生信息read();docout<&
42、lt;" 請?zhí)砑有碌膶W(xué)生信息 "<<e ndl;cout<<"新的學(xué)生學(xué)號:"cin>>studn.num;cout<<"新學(xué)生姓名:"cin>>;cout<<"新學(xué)生性別:"cin»studn.sex;cout<<"新學(xué)生家庭地址:"cin»studn.address;cout<<"新學(xué)生的聯(lián)系方式:"ci n>>stud n.
43、pho ne;cout<<"新學(xué)生的英語成績:"ci n>>stud n.e nglish;cout<<"新學(xué)生的高數(shù)成績:"ci n>>stud n.math;cout<<"新學(xué)生的物理成績 ”;cin»studn.physics;cout<<"新學(xué)生的同學(xué)互評分 ”;ci n»stud n .grade1;cout<<"新學(xué)生的品德成績 ”;cin>>studn.grade2;cout<<&qu
44、ot; 新學(xué)生的任課教師評分”;ci n»stud n.grade3;n+;cout<<"(是否繼續(xù)操作?(y/n) )"<<e ndl;ci n> >press;while(press='y'|press='Y');cout<<"添加成功,學(xué)生資料是否保存?(y/n)"<<e ndl;cin> >press;switch(press)case 'y' : save();break;default: cout<<&
45、quot; 不保存!"break;/修改學(xué)生信息 void XG()read();begin:string find_name;int i;cout<<"請輸入你要修改的學(xué)生名字:"<<e ndl;cin»find_n ame;for(i=0;i< n; i+)if(studi. name=fi nd_n ame)cout<<studi. name<<" "<<"has bee n foun d:"<<e ndl;cout<<
46、"學(xué)生的學(xué)號:"<<studi.num<<""<<"姓名:"<<<<""<<"性別:"<<studi.sex<<""<<"家庭住址:"<<studi.address<<""<<"聯(lián)系方式:"<<studi.phone<<"
47、"<<"英語成績:"<<studi.english<<""<<"高數(shù)成績:"<<studi.math<<""<<"物理成績:"<<studi.physics<<""<<"同學(xué)互評分:"<<studi.grade1<<""<<"品德成績:"<<
48、studi.grade2<<""<<"任課教師評分:"<<studi.grade3<<endl; break;if(studi. name!=fi nd_n ame)cout<<"ca n't find this n ame"<<e ndl;cout<<"請重新查找!"<<endl;goto begi n;cout<<" 請輸入新的信息:"<<endl;cout<
49、<"學(xué)號:"<<''c in> >studi. num;cout<<"姓名:"<<''c in> >studi. name;cout<<"性別:"<<' 'cin >>studi.sex;cout<<"家庭住址:"<<' 'cin >>studi.address;cout<<"聯(lián)系方式:&quo
50、t;<<' 'cin >>studi.pho ne;cout<<"英語成績:"<<' :cin> >studi.e nglish;cout<<"物理成績:"<<' 'cin >>studi.physics;cout<<"高數(shù)成績:"<<' 'cin >>studi.math;cout<<"同學(xué)互評分:"<<
51、' 'cin> >studi.grade1;cout<<"品德成績:"<<' 'cin >>studi.grade2;cout<<"任課教師評分:"<<' :cin >>studi.grade3;cout<<" 修改成功,是否保存 ?(y/n)"<<e ndl;cin> >press;switch(press)case 'y' : save();break;de
52、fault: cout<<" 不保存!"break;/ 計(jì)算考試成績并按考試成績排名 void PM1()read();double temp100;for(i nt a=0;a <n; a+)/studa.average=(studa.e nglish+studa.math+studa.physics)/3;tempa=studa.average;double t;for(i nt j=O;j <n ;j+)/temp中的考試成績按從大到小冒泡排序for(int k=O;k<n-1-j;k+)if(tempk<tempk+1)t=tem
53、pk;tempk=tempk+1;tempk+1=t;for(i nt q=O;q< n;q+)判定考試成績名次for(i nt p=0;p <n; p+)if(studp.average=tempq)studp.ra nkin g1=q+1;cout<<" 學(xué)號 "<<" 姓名 "<<"考試成績"<<"考試成績排名"<<endl;for(i nt b=O;b <n ;b+)cout<<studb. num;cout.widt
54、h(IO);cout<<studb. name;cout.width(10);cout<<studb.average;cout.width(10);cout<<studb.ra nkin g1<<e ndl;cout<<" 是否要保存到文件中?(y/n)"<<e ndl;cin> >press;switch(press)case 'y':int i;char file name20;cout<<"請輸入文件名:"cin> >file
55、 name;ofstream outfile(file name);if(!outfile)cerr<<"ope n error!"<<e ndl;for(i=0;i< n;i+)outfile<<"學(xué)號:"<<studi.num<<"姓名:"<<<<"考試成績:"<<studi.average<<"考試成績排名"<<studi.ra nkin g1&
56、lt;<e ndl;outfile.close();cout<<"保存成功!"<<endl;break;default: cout<<" 不保存!"break;/ 計(jì)算綜合測評成績并按綜合測評成績排名 void PM2()read();double temp100;for(i nt a=O;a <n; a+)studa.gradesum=(studa.e nglish+studa.math+studa.physics)/3)*0.6+studa.grade1*0.1+stud a.grade2*0.1+st
57、uda.grade3*0.2; tempa=studa.gradesum;double t;for(int j=O;j<n ;j+)/temp中的綜合測評成績按從大到小冒泡排序for(int k=O;k<n-1-j;k+)if(tempk<tempk+1)t=tempk;tempk=tempk+1;tempk+1=t;for(i nt q=O;q< n; q+)判定綜合測評成績名次for(i nt p=O;p <n; p+)if(studp.gradesum=tempq)studp.ra nkin g2=q+1;cout<<"學(xué)號 "
58、;<<" 姓名 "<<"綜合測評成績"<<"綜合測評排名"<<e ndl;for(i nt b=O;b <n ;b+)cout<<studb. num;cout.width(10);cout<<studb. name;cout.width(10);cout<<studb.gradesum;cout.width(10);cout<<studb.ra nkin g2<<e ndl;/read();doint find_num;
59、cout<<"請輸入你要查詢的學(xué)號:"<<''cin»find_num;int i;for(i=0;i <n ;i+)if(studi. num=fi nd_num):"<<e ndl;cout<<"學(xué)號為"<<studi.num<<" 的學(xué)生的資料已找到cout<<" 學(xué)號:"<<studi.num<<''<<"姓名:"<
60、<<<''<<"性別:"<<studi.sex<<''<<"家庭地址:"<<studi.address<<''<<"聯(lián)系方式:"<<studi.phone<<''<<"英語成績:"<<studi.english<<''<<"高數(shù)成績:&
61、quot;<<studi.math<<''<<"物理成績:"<<studi.physics<<''<<"同學(xué)互評分:"<<studi.grade1<<'' <<"品德成績:"<<studi.grade2<<''<<"任課教師評分:"<<studi.grade3<<endl;break;i
62、f(studi. num !=fi nd_num)cout<<"ca n't find this num "<<e ndl;cout<<"(是否繼續(xù)操作?(y/n) )"<<e ndl;cin> >press;while(press='y'|press='Y');/按學(xué)生姓名查找資料 void sm()read();dostring find_name;cout<<"請輸入你要查詢的姓名:"<<''
63、;cin»find_n ame;int i;for(i=0;i <n ;i+)if(studi. name=fi nd_n ame)"<<e ndl;cout<<"姓名為"<<<<" 的學(xué)生的資料已找到cout<<" 學(xué)號:"<<studi.num<<''<<"姓名:"<<<<''<<"性
64、別:"<<studi.sex<<''<<"家庭地址:"<<studi.address<<''<<"聯(lián)系方式:"<<studi.phone<<''<<"英語成績:"<<studi.english<<''<<"高數(shù)成績:"<<studi.math<<''<&l
65、t;"物理成績:"<<studi.physics<<''<<"同學(xué)互評分:"<<studi.grade1<<''<<"品德成績:"<<studi.grade2<<''<<"任課教師評分:"<<studi.grade3<<endl;break;if(studi. name!=fi nd_n ame)cout<<"ca
66、n't find this n ame"<<e ndl;cout<<"(是否繼續(xù)操作? (y/n)"<<e ndl;cin> >press;while(press='y'|press='Y');/學(xué)生信息管理界面 void Fire()while(choose!=0)cout<<"ttt*"<<e ndl;cout<<"ttt*"<<e ndl;cout<<"ttt*學(xué)
67、生信息管理*"<<e ndl;cout<<"ttt*"<<e ndl;cout<<"ttt*1.錄入學(xué)生信息*"<<e ndl;cout<<"ttt*2刪除學(xué)生信息*"<<e ndl;cout<<"ttt*3.添加學(xué)生信息*"<<e ndl;cout<<"ttt*4.修改學(xué)生信息*"<<e ndl;cout<<"ttt*5.顯示學(xué)生信
68、息*"<<e ndl;cout<<"ttt*0.返回*"<<e ndl;cout<<"ttt*"<<e ndl;cout<<"ttt*按Enter繼續(xù)*"<<e ndl;cout<<"ttt*"<<e ndl;cout<<"ttt*"<<e ndl;cout<<"tt請輸入0-5之間的任意一數(shù)字"<<''cin> >choose;switch(choose)case 1:system("cls");SR();break;case 2:system(&qu
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【初中生物】真菌-2024-2025學(xué)年七年級生物上冊同步教學(xué)課件(人教版2024)
- 【初中生物】微生物的分布-2024-2025學(xué)年七年級生物上冊同步備課課件(人教版2024)
- 2024就智能工廠建設(shè)與運(yùn)營的合資合同
- 2024年度清雪業(yè)務(wù)承包合同
- 2024年度特許經(jīng)營與加盟合同
- 2024建設(shè)工程的項(xiàng)目合作協(xié)議合同范本
- 2024個(gè)人小額貸款合同
- 2024股份合伙人合同范本
- 2024年工程設(shè)計(jì)合作伙伴協(xié)議
- 2024年度原材料采購擔(dān)保合同
- 2023-2024學(xué)年南京地區(qū)五年級語文上冊期中自測(統(tǒng)編版)
- 船舶系固設(shè)備操作規(guī)程
- 新時(shí)代大中小學(xué)思政課一體化建設(shè)研究
- 工業(yè)自動化系統(tǒng)集成項(xiàng)目驗(yàn)收方案
- 新教科版科學(xué)六年級上冊全冊實(shí)驗(yàn)匯總 (超全)
- 王洪圖黃帝內(nèi)經(jīng)80課時(shí)講稿
- 攤鋪機(jī)司機(jī)班組級安全教育試卷
- 重癥肌無力指南
- 限制被執(zhí)行人駕駛令申請書
- 項(xiàng)目主要施工管理人員情況
- 個(gè)人借條電子版模板
評論
0/150
提交評論