版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、«C+程序設(shè)計(jì)課程設(shè)計(jì)報告(20122013學(xué)年第二學(xué)期)題目:學(xué)生成績信息管理系統(tǒng)專業(yè):信息管理與信息系統(tǒng)班級:姓名學(xué)號:指導(dǎo)教師:、題目:學(xué)生成績管理系統(tǒng)二、程序設(shè)計(jì)要求:(1)要求用VisualC+語言來實(shí)現(xiàn)一個簡單的學(xué)生成績管理系統(tǒng),該系統(tǒng)完成之后,基本上要能夠無錯運(yùn)行,能達(dá)到學(xué)生成績管理系統(tǒng)的基本要求。(2)各個功能分別使用函數(shù)來完成,主函數(shù)和各個函數(shù)分別存放在不同的.CPP文件中,要求使用頭文件。(3)準(zhǔn)備系統(tǒng)模擬的數(shù)據(jù),不得少于10條。(4)成績管理程序至少應(yīng)具備以下功能:1)輸入:學(xué)生的基本信息,包括學(xué)號.姓名.性別.籍貫.VisualC+成績.英語成績.物理成績等;
2、2)計(jì)算:每個學(xué)生的總成績.平均成績.所有學(xué)生單科的平均成績,找出總成績和單科成績最高的學(xué)生并輸出;3)查詢:可以按學(xué)號.姓名.VisualC+成績查詢4)排序:可以按學(xué)號.姓名.VisualC+成績.英語成績物理成績.總成績.平均成績等進(jìn)行排序并輸出;5)刪除:刪除某條記錄;6)按學(xué)分績點(diǎn)計(jì)算辦法計(jì)算每個學(xué)生學(xué)分績點(diǎn),并從高到低輸出;7)按獎學(xué)金評定辦法,從特等開始輸出獲得獎學(xué)金學(xué)生名單及其成績與績點(diǎn);8)按三好學(xué)生評定辦法,輸出三好學(xué)生名單;9)幫助和關(guān)于;10)退出:退出整個系統(tǒng)的運(yùn)行。二、程序的運(yùn)行(1)進(jìn)入系統(tǒng)$-口$*歡迎進(jìn)入學(xué)生成績管理系統(tǒng)】:$Srfvdrwivrfwrw2rf
3、wzruwrwruwirwruwarw«mva/fVAjrw«mmw«vajwwajwwajwfMwwiMWAOMWf昭是一個新系統(tǒng),無學(xué)生信息.請先輸入。豚任意鍵開始(2)系統(tǒng)選擇界面I土上十IL績管理系統(tǒng)>>Wt?WF績績績績誓心生生統(tǒng)成成成成成信事于系生生計(jì)生生生金筆出二與退加增顯一春幫安II|1234567890$請選擇:(3)管理系統(tǒng)的運(yùn)行1、增加學(xué)生成績1240407128多徽蕪湖蠕.85必*的成績=80工陽姓七I生的學(xué)號】d注薩;I履案入C+課2、顯示學(xué)生成績|總成績:2犯W;:0所有學(xué)生的C+平均成績?yōu)榍?1所有學(xué)生的英語平均成績?yōu)椋糊?/p>
4、所有學(xué)生的物理平均成績?yōu)?眄、分最高的學(xué)生為:袁永國總分為=2405,分?jǐn)?shù)最高的學(xué)生為二袁K國C*分?jǐn)?shù)為】8S1英語分?jǐn)?shù)最高的學(xué)生為:袁永國英語分?jǐn)?shù)為叩s|物理分?jǐn)?shù)最高的學(xué)生為:袁永國物理分?jǐn)?shù)為3、排序統(tǒng)計(jì)成績FiFtrbrtrtrC11-1LE10gp二gHI績成成成成積成+語理均分1234564、查找學(xué)生成績5、刪除學(xué)生成績清輸入要刪除的學(xué)生的姓名:6、修改學(xué)生成績節(jié)新、芒.:如印如主;7、獲獎學(xué)金學(xué)生設(shè)得獎學(xué)金的學(xué)生如卜二安任意鍵繼續(xù).8、查看三好學(xué)生三好學(xué)生的名單如F9、幫助與關(guān)于3G該筮統(tǒng)是C,學(xué)生成績胃理移,腌入一些學(xué)生信息及考試成績,可以相應(yīng)的顯亓出學(xué)生的信£各科成績,
5、總建,構(gòu)曜,學(xué)分積點(diǎn)笥。ai±X.推序、刪除等珈,可以任意的對學(xué)生的信息加唳動。在主負(fù)面輸入對應(yīng)鬲數(shù)字,可以對芾同的選項(xiàng)進(jìn)行j作。關(guān)于,系統(tǒng)名稱;學(xué)生成績管理系統(tǒng)制作人:袁永國±2404071280、安全退出系統(tǒng)1234567890績績績績績息生生統(tǒng)成成成成成信蕓亍于系生生計(jì)生生生金堇出事統(tǒng)二與退加一除改全增顯馨1修>查幫安請選擇,0*ressanytocontintie四、心得與體會在此次的課程設(shè)計(jì)的活動中,我大大加強(qiáng)了白己的動手能力,更進(jìn)一步的學(xué)習(xí)了C+的編程的方面的學(xué)習(xí),熟練了白己的編程技巧,這次課程設(shè)計(jì),提高了我獨(dú)立分析解決問題的能力和培養(yǎng)了我的創(chuàng)新精神。五、
6、程序的編寫#include<iostream>#include<stdlib.h>#include<fstream>#include<string.h>#include<conio.h>/用getch();usingnamespacestd;/Student類一classStudentpublic:charname20;charId20;charsex10;/C課程得分charorigin30;intCnum;intEnum;/英語課程得分intPnum;/物理課程得分intsum;個人總分floataverage;個人平均分floa
7、tPoints;/個人學(xué)分積點(diǎn)Student*Next;voidInput()system("cls");cout<<”請輸入學(xué)生的姓名:"cin>>name;cout<<"請輸入學(xué)生的學(xué)號:"cin>>Id;cout<<"請輸入學(xué)生的性別:"cin>>sex;cout<<"請輸入學(xué)生的籍貫:"cin>>origin;cout<<"請輸入C+課程的成績:"cin>>C
8、num;cout<<"請輸入英語課程的成績:"cin>>Enum;cout<<"請輸入物理課程的成績:"cin>>Pnum;sum=Cnum+Enum+Pnum;average=sum/3;Points=(Cnum+Enum+Pnum)/10-15;voidReadFile(istream&in)in>>name>>Id>>sex>>origin>>Cnum>>Enum>>Pnum>>sum>>
9、;average>>Points;voidShow()cout<<”姓名:"<<name<<endl;cout<<"學(xué)號:"<<Id<<endl;cout<<"性另U:"<<sex<<endl;cout<<"籍貫:"<<origin<<endl;cout<<"C+:"<<Cnum<<endl;cout<<
10、”英語:"<<Enum<<endl;cout<<"物理:"<<Pnum<<endl;cout<<”總成績:"<<sum<<endl;cout<<"平均成績:"<<average<<endl;cout<<"學(xué)分積點(diǎn):"<<Points<<endl;cout<<"nn";/Studentmassag(eclassStude
11、ntmassage(public:Studentmassage();Studentmassage();voidShowMenu();voidFind();voidPoint();voidSave();voidModifyItem();voidRemoveItem();voidSwap(Student*,Student*);voidSort();intListCount();voidDisplay()(inta=0,b=0,c=0,x=0,A,B,C,SS=0,CC=0,EE=0,PP=0;charxa20,xb20,xc20,xd20;system("cls");Stude
12、nt*p;for(p=Head->Next;p!=End;p=p->Next)p->Show();a+=p->Cnum;b+=p->Enum;c+=p->Pnum;x+;if(SS<p->sum)SS=p->sum;strcpy(xa,p->name);if(CC<p->Cnum)CC=p->Cnum;strcpy(xb,p->name);if(EE<p->Enum)EE=p->Enum;strcpy(xc,p->name);if(PP<p->Pnum)PP=p->Pn
13、um;strcpy(xd,p->name);A=a/x;B=b/x;C=c/x;cout«endl;cout«"所有學(xué)生的C+平均成績?yōu)?"«A«'n'«endl;cout«"所有學(xué)生的英語平均成績?yōu)?"«B«'n'«endl;cout«"所有學(xué)生的物理平均成績?yōu)?"«C«"nnn"«endl;cout«"總分最高的學(xué)生為:”vv
14、xavv”tt總分為:"«SS«'n'«endl;cout«"C+分?jǐn)?shù)最高的學(xué)生為:"«xb«"tC+分?jǐn)?shù)為:"«CC«'n'«endl;cout«"英語分?jǐn)?shù)最高的學(xué)生為:"«xc«"t英語分?jǐn)?shù)為:"<<EE<<'n'<<endl;cout<<"物理分?jǐn)?shù)最高的學(xué)生為:"&l
15、t;<xd<<"t物理分?jǐn)?shù)為:"<<pp<<'n'<<endl;cout<<"n按任意鍵繼續(xù)."getch();voidScholarship()(intM=10;charMM20;Student*p;system("cls");cout<<"獲得獎學(xué)金的學(xué)生如下:"<<"nnn"for(p=Head->Next;p!=End;p=p->Next)(if(M<=p->
16、Points)(strcpy(MM,p->name);cout<<MM<<”:"<<"nt"<<"C+成績:"<<p->Cnum<<"tt"<<”英語成績:"<<p->Enum<<"tt”;cout<<"物理成績:"<<p->Pnum<<"ttt"<<"總成績:"<
17、;<p->sum<<"tt"<<"平均成績:"cout«p->average«"tt"<<"學(xué)分積點(diǎn)"«p->Points«"nn"cout«"按任意鍵繼續(xù)."«endl;getch();voidmerit()charSH20;Student*p;system("cls");cout«"三好學(xué)生的名單如下:"
18、«"nnn"for(p=Head->Next;p!=End;p=p->Next)if(p->Cnum>=80&&p->Enum>=80&&p->Pnum>=80)strcpy(SH,p->name);cout«"tt"«SH«endl;cout«"按任意鍵繼續(xù)getch();voidAddItem()(End->Input();End->Next=newStudent;End=End->Nex
19、t;cout<<"n添加成功!"<<endl;cout<<"n按任意鍵繼續(xù).”;getch();voidHelp()(system("cls");cout<<"幫助:nnt該系統(tǒng)是C+學(xué)生成績管理系統(tǒng),輸入一些學(xué)生信息及考試成績,"cout<<”可以相應(yīng)的顯示出學(xué)生的信息,各科成績,總成績,平均成績,學(xué)分積點(diǎn)等。"cout<<"通過輸入、排序、刪除等功能,可以任意的對學(xué)生的信息加以變動。"cout<<"
20、在主頁面輸入對應(yīng)的數(shù)字,可以對不同的選項(xiàng)進(jìn)行操作。";cout<<"nnnn"cout<<"關(guān)于:nnt系統(tǒng)名稱:學(xué)生成績管理系統(tǒng)nnt制作人:袁永國1240407128”;cout<<"nnn"cout<<"按任意鍵繼續(xù)."getch();private:Student*Head,*End;ifstreamin;ofstreamout;Student*FindItem(char*name)(for(Student*p=Head;p->Next!=End;p=p
21、->Next)if(!strcmp(p->Next->name,name)returnp;returnNULL;Student*FindID(char*Id)(for(Student*p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->Id,Id)returnp;returnNULL;Student*FindSex(char*sex)(for(Student*p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->sex,sex)retu
22、rnp;returnNULL;Student*FindOrigin(char*origin)(for(Student*p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->origin,origin)returnp;returnNULL;/構(gòu)造函數(shù)Studentmassage:Studentmassage()(Head=newStudent;Head->Next=newStudent;End=Head->Next;in.open("sort.txt");if(!in)cout<<&
23、quot;這是一個新系統(tǒng),無學(xué)生信息。請先輸入。"<<endl;else(while(!in.eof()(End->ReadFile(in);if(End->name0='0')break;End->Next=newStudent;End=End->Next;in.close();cout<<"tt讀取學(xué)生信息成功!"<<endl;/析構(gòu)函數(shù),Studentmassage:Studentmassage()(Save();for(Student*temp;Head->Next!=End
24、;)(temp=Head->Next;Head->Next=Head->Next->Next;deletetemp;deleteHead,End;菜單一voidStudentmassage:ShowMenu()(cout<<”<<學(xué)生成績管理系統(tǒng)>>"<<endl;cout<<"*"<<endl;cout<<"$1.增加學(xué)生成績$"<<endl;cout<<"$2.顯示學(xué)生成績$"<<
25、;endl;cout<<"$3.排序統(tǒng)計(jì)成績$"<<endl;cout<<"$4.查找學(xué)生成績$"<<endl;cout<<"$"<<endl;cout<<"$"<<endl;cout<<"$"<<endl;cout<<"$"<<endl;cout<<"$"<<endl;cout<&l
26、t;"$"<<endl;刪除學(xué)生成績修改學(xué)生信息獲獎學(xué)金學(xué)生查看三好學(xué)生9.幫助與關(guān)于0.安全退出系統(tǒng)cout<<"*"<<endl;cout<<"nttntt請選擇:"/查找函數(shù)'voidStudentmassage:Find()system("cls");charname20,Id10;intx;Student*p=NULL;cout<<"ntt*n"cout<<"tt1.按學(xué)生的姓名查找ntt2.按學(xué)
27、生學(xué)號查找"cin>>x;cout<<"ntt*n請選擇:switch(x)case1:cout<<"請輸入要查找的學(xué)生的姓名:"cin>>name;if(p=FindItem(name)p->Next->Show();cout<<"n按任意鍵繼續(xù)."getch();else(cout<<"沒有找到該姓名的學(xué)生!"<<'n'<<endl;cout<<"n按任意鍵繼續(xù).&q
28、uot;getch();break;case2:(cout<<"tt請輸入要查找的學(xué)生的學(xué)號:"cin>>Id;if(p=FindID(Id)(p->Next->Show();cout<<"n按任意鍵繼續(xù)."getch();else(cout<<"沒有找到該學(xué)好的學(xué)生!"<<'n'<<endl;cout<<"n按任意鍵繼續(xù)."getch();break;/修改信息voidStudentmassage:Mo
29、difyItem()修改信息(system("cls");charname20;Student*p=NULL;cout<<"請輸入要修改的人的姓名:"cin>>name;if(p=FindItem(name)(cout<<"已找到學(xué)生的信息,請輸入新的信息!"<<endl;p->Next->Input();cout<<"n修改成功!"<<endl;cout<<"n按任意鍵繼續(xù)."getch();els
30、ecout<<"n沒有找到!"<<endl;cout<<"n按任意鍵繼續(xù)."getch();/刪除信息voidStudentmassage:RemoveItem()/刪除信息system("cls");charname20;Student*p=NULL,*temp=NULL;cout<<"請輸入要刪除的學(xué)生的姓名:"<<endl;cin>>name;if(p=FindItem(name)temp=p->Next;p->Next=p-
31、>Next->Next;deletetemp;cout<<"n刪除成功!"<<endl;cout<<"n按任意鍵繼續(xù)."getch();else(cout<<"n沒有找到!"<<endl;cout<<"n按任意鍵繼續(xù)."getch();/voidStudentmassage:Swap(Studentp1,Student*p2)交換兩個combox變量的數(shù)據(jù)域(Student*temp=newStudent;strcpy(temp-&
32、gt;name,p1->name);strcpy(temp->Id,p1->Id);strcpy(temp->sex,p1->sex);strcpy(temp->origin,p1->origin);temp->Cnum=p1->Cnum;temp->Enum=p1->Enum;temp->Pnum=p1->Pnum;temp->sum=p1->sum;temp->average=p1->average;temp->Points=p1->Points;strcpy(p1->n
33、ame,p2->name);strcpy(p1->Id,p2->Id);strcpy(p1->sex,p2->sex);strcpy(p1->origin,p2->origin);p1->Cnum=p2->Cnum;p1->Enum=p2->Enum;p1->Pnum=p2->Pnum;p1->sum=p2->sum;p1->average=p2->average;p1->Points=p2->Points;strcpy(p2->name,temp->name);str
34、cpy(p2->Id,temp->Id);strcpy(p2->sex,temp->sex);strcpy(p2->origin,temp->origin);p2->Cnum=temp->Cnum;p2->Enum=temp->Enum;p2->Pnum=temp->Pnum;p2->sum=temp->sum;p2->average=temp->average;p2->Points=temp->Points;/intStudentmassage:ListCount()統(tǒng)計(jì)當(dāng)前鏈表的記錄
35、總數(shù),返回一個整數(shù)if(!Head)return0;intn=0;for(Student*p=Head->Next;p!=End;p=p->Next)n+;returnn;/voidStudentmassage:Sort()對當(dāng)前鏈表進(jìn)行排序(cout<<"Sorting."<<endl;Student*p=NULL,*p1=NULL,*k=NULL;intn=Studentmassage:ListCount();if(n<2)return;intT;system("cls");cout<<"
36、;請選擇:nnnttt1.按總成績排序nttt2.按VC+成績排序nttt3.按英語成績排序n"cout<<"ttt4.按物理成績排序nttt5.按平均成績排序nttt6.按學(xué)分積點(diǎn)排序"<<"nn"cin>>T;switch(T)(case1:(for(p=Head->Next;p!=End;p=p->Next)for(k=p->Next;k!=End;k=k->Next)(if(p->sum>k->sum)(Studentmassage:Swap(k,p);cou
37、t<<”按總成績排序完成!請?jiān)陲@示學(xué)生成績中查看<<endl;cout<<"按任意鍵繼續(xù).”;getch();return;break;case2:(for(p=Head->Next;p!=End;p=p->Next)for(k=p->Next;k!=End;k=k->Next)(if(p->Cnum>k->Cnum)(Studentmassage:Swap(k,p);cout<<"按VC+成績排序完成!請?jiān)陲@示學(xué)生成績中查看"<<endl;cout<<
38、;"按任意鍵繼續(xù)."getch();return;break;case3:for(p=Head->Next;p!=End;p=p->Next)for(k=p->Next;k!=End;k=k->Next)if(p->Enum>k->Enum)Studentmassage:Swap(k,p);cout<<"按英語成績排序完成!請?jiān)陲@示學(xué)生成績中查看"<<endl;cout<<"按任意鍵繼續(xù)."getch();return;break;case4:(for(p=
39、Head->Next;p!=End;p=p->Next)for(k=p->Next;k!=End;k=k->Next)(if(p->Pnum>k->Pnum)(Studentmassage:Swap(k,p);cout<<”按物理成績排序完成!請?jiān)陲@示學(xué)生成績中查看"<<endl;cout<<"按任意鍵繼續(xù).”;getch();return;break;case5:(for(p=Head->Next;p!=End;p=p->Next)for(k=p->Next;k!=End;k=
40、k->Next)(if(p->average>k->average)(Studentmassage:Swap(k,p);cout<<”按平均成績排序完成!請?jiān)陲@示學(xué)生成績中查看"<<endl;cout<<”按任意鍵繼續(xù).”;getch();return;break;case6:(for(p=Head->Next;p!=End;p=p->Next)for(k=p->Next;k!=End;k=k->Next)(if(p->Points>k->Points)(Studentmassage:S
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車銷售行為培訓(xùn)課件
- 單梁遙控行車安全培訓(xùn)
- 2.2 大氣受熱過程和大氣運(yùn)動(第2課時 大氣運(yùn)動)(教學(xué)設(shè)計(jì))高一地理同步高效課堂(人教版2019必修一)
- 【課件】有理數(shù)乘法的運(yùn)算律及運(yùn)用(第2課時)課件人教版數(shù)學(xué)七年級上冊
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)課件項(xiàng)目7 Web Farm網(wǎng)絡(luò)負(fù)載平衡
- 土木工程力學(xué)12結(jié)構(gòu)的計(jì)算簡圖及分類
- 2024年內(nèi)蒙古赤峰市中考英語試題含解析
- 幼兒園中班寒假安全教育教案18篇
- 牛津譯林版八年級上冊英語課外閱讀拓展訓(xùn)練二(時文無答案)
- 2024年黑龍江省綏化市初中畢業(yè)學(xué)業(yè)考試地理試卷含答案
- 期中試卷(試題)2024-2025學(xué)年人教版數(shù)學(xué)五年級上冊
- 2024-2024部編版九年級語文上冊期末考試測試卷(附答案)
- 健康科普宣教課件
- 體適能訓(xùn)練對兒童青少年體質(zhì)影響發(fā)展研究
- 故障模式、影響及危害分析報告(模板)(共14頁)
- 三無急診病人的接診與處理程序
- 冀教版八年級上冊英語課件Lesson 22 I Like My Neighbourhood
- 乙二醇冷卻器設(shè)計(jì)-趙守強(qiáng)
- 混凝土圓管涵計(jì)算書
- 一年級數(shù)學(xué)《整理房間》聽課心得體會
- 學(xué)校迎接督導(dǎo)評估檢查工作方案[推薦五篇]_1
評論
0/150
提交評論