




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、#include #includeclass STUpublic:long int xh; char xm20,xb20,jg20; float c,eng,phy;STU *next; friend class BJ;class BJpublic:STU *Input(int n)STU *p,*pend,*h=0; int i=0;if(n1)return 0; cout學(xué)號(hào) 姓名 性別 籍貫 VC+成績(jī) 英語(yǔ)成績(jī) 物理成績(jī)endl;while(i(*p).xh(*p).xm(*p).xb(*p).jg(*p).c(*p).eng(*p).phy;(*p).next=0;if(h=0)h=
2、p;pend=p;elsepend-next=p;pend=p;i+;return h;void calculate(STU *h,int n);void search(STU *h);void scoreswap(float a,float b);void intswap(long int a,long int b);void sort(STU *h,int a,int n);void deletestudent(STU *h,int data);void scholar(STU *h,int n);void shxs(STU *h,int n);void print(STU *h);voi
3、d welcome();void Introduction();STU *Input(int n)STU *p,*pend,*h=0; int i=0;if(n1)return 0; cout學(xué)號(hào) 姓名 性別 籍貫 VC+成績(jī) 英語(yǔ)成績(jī) 物理成績(jī)endl;while(i(*p).xh(*p).xm(*p).xb(*p).jg(*p).c(*p).eng(*p).phy;(*p).next=0;if(h=0)h=p;pend=p;elsepend-next=p;pend=p;i+;return h;void BJ:calculate(STU *h,int n) float S20,aver20,
4、aver1=0,aver2=0,aver3=0,MAX,max1,max2,max3; float s120,s220,s320; STU *p; p=h; for(int i=0;in;i+) Si=(*p).c+(*p).eng+(*p).phy; averi=Si/3; p=(*p).next; for(p=h,i=0;in;i+) aver1+=(*p).c; aver2+=(*p).eng; aver3+=(*p).phy; p=(*p).next; aver1=aver1/n; aver2=aver2/n; aver3=aver3/n; for(p=h,i=0;in;i+)s1i=
5、(*p).c;s2i=(*p).c;s3i=(*p).phy;p=(*p).next; MAX=0;max1=0;max2=0;max3=0; for(i=0;in;i+) if(MAXSi)MAX=Si; if(max1s1i)max1=s1i; if(max2s2i)max2=s2i; if(max3s3i)max3=s3i; cout總成績(jī)最高的學(xué)生:n; for(p=h,i=0;in;i+) if(MAX=Si) cout(*p).xht(*p).xmtMAXendl; p=(*p).next; coutVC+成績(jī)最高的學(xué)生:n; for(p=h,i=0;in;i+)if(max1=s
6、1i)cout(*p).xht(*p).xmtmax1endl;p=(*p).next; cout英語(yǔ)成績(jī)最高的學(xué)生:n; for(p=h,i=0;in;i+)if(max2=s2i)cout(*p).xht(*p).xmtmax2endl;p=(*p).next; cout物理成績(jī)最高的學(xué)生:n; for(p=h,i=0;in;i+)if(max3=s3i)cout(*p).xht(*p).xmtmax3endl;p=(*p).next;void BJ:search(STU *h)STU *p;p=h;int r,t;char xm10;cout按學(xué)號(hào)查詢(xún)請(qǐng)輸入1,按姓名查詢(xún)請(qǐng)輸入2!r;s
7、witch(r)case 1: cout請(qǐng)輸入要查詢(xún)的學(xué)號(hào):t; while(p) if(*p).xh=t)print(p);break;else p=(*p).next; break;case 2:cout請(qǐng)輸入要查詢(xún)的姓名:xm;while(p)if( strcmp(xm,(*p).xm)=0) print(p);break;else p=(*p).next;break;void BJ:scoreswap(float a,float b)float temp=a; a=b; b=temp;void BJ:intswap(long int a,long int b)long int temp
8、=a; a=b; b=temp;void BJ:sort(STU *h,int a,int n) STU *p,*p1,*p2;char XM20,XB20,JG20; float S20,aver20;p=h;for(int i=0;in;i+)Si=(*p).c+(*p).eng+(*p).phy; averi=Si/3; p=(*p).next; cout請(qǐng)選擇排序方式!endl; cout按姓名排序請(qǐng)輸入1endl;cout按VC+成績(jī)排序請(qǐng)輸入2endl;cout按英語(yǔ)成績(jī)排序請(qǐng)輸入3endl;cout按物理成績(jī)排序請(qǐng)輸入4endl;cout按總成績(jī)排序請(qǐng)輸入5endl;cout按平
9、均成績(jī)排序請(qǐng)輸入6a;switch(a)case 1:if(h=0)cout無(wú)結(jié)點(diǎn)n; else p1=h; while(*p1).next) for(i=0;in-1;i+)p2=(*p1).next;for(int j=i+1;jn;j+)if(strcmp(*p1).xm,(*p2).xm)=1)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).x
10、b,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c);scoreswap(*p1).eng,(*p2).eng);scoreswap(*p1).phy,(*p2).phy); p2=(*p2).next; p1=(*p1).next;p=h;for( i=0;in;i+)print(p);p=(*p).next;coutendl;break;case 2:if(h=0)cout無(wú)結(jié)點(diǎn)n; else p1=h; while(*p1).next) for(i=0
11、;in-1;i+)p2=(*p1).next; for(int j=i+1;j=(*p2).c)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c);scoreswa
12、p(*p1).eng,(*p2).eng);scoreswap(*p1).phy,(*p2).phy); p2=(*p2).next; p1=(*p1).next;p=h;for(i=0;in;i+)print(p);p=(*p).next;coutendl;break;case 3:if(h=0)cout無(wú)結(jié)點(diǎn)n; else p1=h;while(*p1).next)for( i=0;in-1;i+)p2=(*p1).next; for(int j=i+1;j=(*p2).eng) intswap(*p1).xh,(*p2).xh); strcpy(XM,(*p1).xm);strcpy(*
13、p1).xm,(*p2).xm);strcpy(*p2).xm,XM); strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB); strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG); scoreswap(*p1).c,(*p2).c); scoreswap(*p1).eng,(*p2).eng); scoreswap(*p1).phy,(*p2).phy); p2=(*p2).next; p1=(*p1).next; p=h;for(i=0;in
14、;i+)print(p);p=(*p).next;coutendl;break;case 4:if(h=0)cout無(wú)結(jié)點(diǎn)n; else p1=h; while(*p1).next) for(i=0;in-1;i+)p2=(*p1).next;for(int j=i+1;j=(*p2).c)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);
15、strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c); scoreswap(*p1).eng,(*p2).eng); scoreswap(*p1).phy,(*p2).phy); p2=(*p2).next; p1=(*p1).next; p=h;for(i=0;in;i+)print(p);p=(*p).next;coutendl;break;case 5:if(h=0)cout無(wú)結(jié)點(diǎn)n; else p1=h; while(*p1).next) for( i=0;in
16、-1;i+) p2=(*p1).next;for(int j=i+1;j=Sj)intswap(*p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG);scoreswap(*p1).c,(*p2).c); scoreswap(*p1).
17、eng,(*p2).eng); scoreswap(*p1).phy,(*p2).phy); p2=(*p2).next; p1=(*p1).next;p=h;for(i=0;in;i+)cout(*p).xht(*p).xmt(*p).xbt(*p).jgt(*p).ct(*p).engt(*p).phytSin;p=(*p).next;coutendl;break;case 6:if(h=0)cout無(wú)結(jié)點(diǎn)n; else p1=h; while(*p1).next) for( i=0;in-1;i+)p2=(*p1).next;for(int j=i+1;j=averj)intswap(*
18、p1).xh,(*p2).xh);strcpy(XM,(*p1).xm);strcpy(*p1).xm,(*p2).xm);strcpy(*p2).xm,XM);strcpy(XB,(*p1).xb);strcpy(*p1).xb,(*p2).xb);strcpy(*p2).xb,XB);strcpy(JG,(*p1).jg);strcpy(*p1).jg,(*p2).jg);strcpy(*p2).jg,JG); scoreswap(*p1).c,(*p2).c); scoreswap(*p1).eng,(*p2).eng); scoreswap(*p1).phy,(*p2).phy); p
19、2=(*p2).next; p1=(*p1).next;p=h;for(i=0;in;i+) cout(*p).xht(*p).xmt(*p).xbt(*p).jgt(*p).ct(*p).engt(*p).phytaverin;p=(*p).next;coutendl;break;default: cout無(wú)可排序的依據(jù)!endl; void BJ:deletestudent(STU *h,int data)STU *p1,*p2;int b;cout如果要?jiǎng)h除學(xué)生的信息請(qǐng)輸入1!n如果不需要?jiǎng)h除學(xué)生的信息請(qǐng)輸入2!b;switch(b)case 1: cout輸入要?jiǎng)h除信息學(xué)生的學(xué)號(hào):da
20、ta; if(h=0)coutxh=data) p2=h;h=h-next; delete p2;cout成功刪除學(xué)生的信息!endl; else p2=p1=h; while(*p2).xh!=data&(*p2).next!=0) p1=p2; p2=(*p2).next; if(*p2).xh=data) (*p1).next=(*p2).next; delete p2;cout成功刪除學(xué)號(hào)為data學(xué)生的信息endl; else cout沒(méi)有找到要?jiǎng)h除的信息; case 2:break;void BJ:scholar(STU *h,int n)STU *p; char xm2020,x
21、b2020,jg2020,b20,c20,d20;double s20,xh20,vc20,english20,physics20,pe20,S; p=h; for(int i=0;in;i+)si=(*p).c*4.5+(*p).eng*4+(*p).phy*3)/11.5-50)/10; xhi=(*p).xh;strcpy(xmi,(*p).xm);strcpy(xbi,(*p).xb);strcpy(jgi,(*p).jg);vci=(*p).c;vci=(*p).eng;physicsi=(*p).phy; p=(*p).next; for(i=0;in-1;i+)for(int j
22、=i+1;jn;j+)if(si=sj)S=si;si=sj;sj=S; intswap(xhi,xhj);strcpy(b,xmi);strcpy(xmi,xmj);strcpy(xmj,b);strcpy(c,xbi);strcpy(xbi,xbj);strcpy(xbj,c);strcpy(d,jgi);strcpy(jgi,jgj);strcpy(jgj,d);scoreswap(vci,vcj); scoreswap(englishi,englishj); scoreswap(physicsi,physicsj);for(i=0;in;i+)coutxhitxmitsin; cout
23、特等獎(jiǎng)學(xué)金名單:n; for(i=0;i=4.0)coutxmin; cout一等獎(jiǎng)學(xué)金名單:n; for(i=0;i=3.6&si4.0) coutxmin; cout二等獎(jiǎng)學(xué)金名單:n; for(i=0;i=3.2&si3.6)coutxmin; cout三等獎(jiǎng)學(xué)金名單:n; for(i=0;i=2.8&si3.2)coutxmin;void xhxs(STU *h,int n) double s20; char XM2020; long int XH20; STU *p; p=h; for(int i=0;in;i+)si=(*p).c*4.5+(*p).eng*4+(*p).phy*3
24、)/11.5-50)/10;strcpy(XMi,(*p).xm);XHi=(*p).xh;p=(*p).next; cout三好學(xué)生的名單:n; for(i=0;i=3.0|si3.5&(*p).c-50)/10)=1.0&(*p).c-50)/10)3.5&(*p).eng-50)/10)=1.0&(*p).eng-50)/10)3.5&(*p).phy-50)/10)=1.0&(*p).phy-50)/10)=2.0) coutXHitXMitsin;void BJ:shxs(STU *h,int n) double s20; char XM2020; long int XH20; ST
25、U *p; p=h; for(int i=0;in;i+)si=(*p).c*4.5+(*p).eng*4+(*p).phy*3)/11.5-50)/10;strcpy(XMi,(*p).xm);XHi=(*p).xh;p=(*p).next; cout三好學(xué)生的名單:n; for(i=0;i=3.0|si3.5&(*p).c-50)/10)=1.0&(*p).c-50)/10)3.5&(*p).eng-50)/10)=1.0&(*p).eng-50)/10)3.5&(*p).phy-50)/10)=1.0&(*p).phy-50)/10)=2.0) coutXHitXMitsin;void
26、BJ:print(STU *h)STU *p;p=h; cout學(xué)號(hào) 姓名 性別 籍貫 vc+成績(jī) 英語(yǔ)成績(jī) 物理成績(jī)endl;while(p) cout(*p).xht(*p).xmt(*p).xbt(*p).jgt(*p).ct(*p).engt(*p).phyn; p=(*p).next;void BJ:welcome()cout * n;cout * n;cout * * n;cout * 歡迎進(jìn)入江蘇科技大學(xué)學(xué)生管理系統(tǒng)! * n;cout * * n;cout * n;cout * n;void BJ:Introduction()cout關(guān)于:n;cout 本程序?yàn)閷W(xué)生成績(jī)管理系統(tǒng)
27、,可實(shí)現(xiàn)對(duì)班級(jí)學(xué)生的成績(jī)的管理及獎(jiǎng)學(xué)金、三好生的評(píng)定工作,具備查詢(xún)和檢索等功能。endl;void main() STU *h; long int data; int n,a,r,m; BJ xg12; xg12.Introduction(); xg12.welcome(); do coutn請(qǐng)選擇要操作的內(nèi)容!n; cout要輸入學(xué)生的信息請(qǐng)輸入1!endl; cout要查詢(xún)學(xué)生的信息請(qǐng)輸入2!endl; cout要輸出學(xué)生的信息請(qǐng)輸入3!endl; cout對(duì)學(xué)生的信息進(jìn)行排序請(qǐng)輸入4!endl; cout要?jiǎng)h除某學(xué)生的信息請(qǐng)輸入5!r; switch(r) case 1: cout請(qǐng)輸入
28、班級(jí)人數(shù)!endln; coutendl; cout請(qǐng)輸入班級(jí)學(xué)生信息!endl; h=xg12.Input(n); break; case 2: xg12.search(h); break; case 3: xg12.print(h); xg12.calculate(h,n); xg12.scholar(h,n); xg12.shxs(h,n); break; case 4: xg12.sort(h,a,n); break; case 5: xg12.deletestudent(h,data); break; cout如果要繼續(xù)操作請(qǐng)輸入1!退出請(qǐng)輸入0!m; while(m); /*設(shè)計(jì)要求:應(yīng)嚴(yán)格按照開(kāi)發(fā)小型項(xiàng)目的基本流程進(jìn)行設(shè)計(jì)。成績(jī)管理程序至少應(yīng)具有以下功能: 輸入:學(xué)生的基本信息,包括學(xué)號(hào)、姓名、性別、籍貫、VC+成績(jī)、英語(yǔ)成績(jī)、物理成績(jī)等;計(jì)算:每個(gè)學(xué)生的總成績(jī)、平均成績(jī),所有學(xué)生單科的平均成績(jī),找出總成績(jī)和單科成績(jī)最高的學(xué)生并輸出;查詢(xún):可以按學(xué)號(hào)、姓名等進(jìn)行成績(jī)查詢(xún);排序:可以按學(xué)號(hào)、姓名、VC+成績(jī)、英語(yǔ)成績(jī)、物理成績(jī)、總成績(jī)、平均成績(jī)等進(jìn)行排序并輸出;刪除:刪除某條記錄;按學(xué)分積點(diǎn)計(jì)算辦法計(jì)算出每個(gè)學(xué)生的學(xué)分積點(diǎn),并按從高到低的順序排列輸出
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市河道清淤施工方案
- 工地施工勞務(wù)用工合同
- 土地出讓合同補(bǔ)充協(xié)議
- 霓虹燈施工方案
- 合金網(wǎng)兜施工方案
- 配電線路施工方案
- 南通輕質(zhì)混凝土施工方案
- 塑料管卡箍連接施工方案
- 臨朐立柱宣傳欄施工方案
- 建筑工程勞務(wù)用工協(xié)議
- 川教版2024-2025學(xué)年六年級(jí)下冊(cè)信息技術(shù)全冊(cè)教案
- 第45屆世界技能大賽移動(dòng)機(jī)器人項(xiàng)目福建省選拔賽技術(shù)文件(定稿)
- 山西省2024年中考道德與法治真題試卷(含答案)
- 招標(biāo)代理機(jī)構(gòu)遴選投標(biāo)方案(技術(shù)標(biāo))
- 彩鋼瓦雨棚施工技術(shù)標(biāo)準(zhǔn)方案
- 吊車(chē)施工專(zhuān)項(xiàng)方案
- 2024年《論教育》全文課件
- 罐區(qū)安全培訓(xùn)教程
- 副總經(jīng)理招聘面試題與參考回答(某大型央企)2025年
- 2024新能源風(fēng)電場(chǎng)消防系統(tǒng)檢修規(guī)程
- 智鼎在線測(cè)評(píng)題
評(píng)論
0/150
提交評(píng)論