




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
#include"stdio.h"/*定義學(xué)生結(jié)構(gòu)體 */structStudent{charID[20];charName[20];floatMark1;/*計(jì)算機(jī)*/floatMark2;/*英語(yǔ)*/floatMark3; /*數(shù)學(xué)*/floatZongfen;/*總分*/floatAverage;};/*平均分*//*聲明學(xué)生數(shù)組及學(xué)生數(shù)量 */structStudentstudents[2000];intnum=0;/*求總分*/float Zong(structStudentstu){return(stu.Mark1+stu.Mark2+stu.Mark3);}/*求平均值*/floatAvg(structStudentstu){return(stu.Mark1+stu.Mark2+stu.Mark3)/3;}/*通過(guò)學(xué)號(hào)返回?cái)?shù)組下標(biāo) */intStudent_SearchByIndex(charid[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].ID,id)==0){returni;}}return-1;}/*通過(guò)姓名返回?cái)?shù)組下標(biāo) */intStudent_SearchByName(charname[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].Name,name)==0){returni;}}return-1;}/*通過(guò)學(xué)號(hào)返回?cái)?shù)組下標(biāo) */intStudent_SearchID(charid[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].ID,id)==0){returni;}}return-1;}/*顯示單條學(xué)生記錄 */voidStudent_DisplaySingle(intindex){printf("%10s%10s%8s%8s%8s%8s%10s\n","學(xué)號(hào)","姓名","計(jì)算機(jī)","英語(yǔ)","數(shù)學(xué)","總分","平均成績(jī)");printf("-------------------------------------------------------------\n");rintf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[index].ID,students[index].Name,students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Zongfen,students[index].Average);}voidStudent_DisplaySingle1(intindex){printf("-------------------------------------------------------------\n");rintf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[index].ID,students[index].Name,students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Zongfen,students[index].Average);}/*插入學(xué)生信息 */voidStudent_Insert(){while(1){printf("請(qǐng)輸入學(xué)號(hào):");scanf("%s",&students[num].ID);getchar();printf("請(qǐng)輸入姓名:");scanf("%s",&students[num].Name);getchar();printf("請(qǐng)輸入計(jì)算機(jī)成績(jī):");scanf("%f",&students[num].Mark1);getchar();printf("請(qǐng)輸入英語(yǔ)成績(jī):");scanf("%f",&students[num].Mark2);getchar();printf("請(qǐng)輸入數(shù)學(xué)成績(jī):");scanf("%f",&students[num].Mark3);getchar();students[num].Average=Avg(students[num]);students[num].Zongfen=Zong(students[num]);num++;printf("是否繼續(xù)?(y/n)");if(getchar()=='n'){break;}}}voidexit();/*修改學(xué)生信息 */voidStudent_Modify(){floatmark1,mark2,mark3;while(1){charid[20];intindex;printf("請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào) :");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("學(xué)生不存在!\n");}else{printf("你要修改的學(xué)生信息為 :\n");Student_DisplaySingle(index);printf("-- 請(qǐng)輸入新值--\n");printf("請(qǐng)輸入學(xué)號(hào):");scanf("%s",&students[index].ID);getchar();printf("請(qǐng)輸入姓名:");scanf("%s",&students[index].Name);getchar();printf("請(qǐng)輸入成績(jī):");scanf("%f",&students[index].Mark1);getchar();printf("請(qǐng)輸入成績(jī):");scanf("%f",&students[index].Mark2);getchar();printf("請(qǐng)輸入成績(jī):");scanf("%f",&students[index].Mark3);getchar();students[index].Zongfen=Zong(students[index]);students[index].Average=Avg(students[index]); }printf("是否繼續(xù)?(y/n)");if(getchar()=='n'){break;}}}/*刪除學(xué)生信息 */voidStudent_Delete(){inti;while(1){charid[20];intindex;printf("請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào) :");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("學(xué)生不存在!\n");}else{printf("你要?jiǎng)h除的學(xué)生信息為 :\n");Student_DisplaySingle(index);printf("是否真的要?jiǎng)h除 ?(y/n)");if(getchar()=='y'){for(i=index;i<num-1;i++){students[i]=students[i+1];}num--;}getchar();}printf("是否繼續(xù)?(y/n)");if(getchar()=='n'){break;}}}/*按姓名或?qū)W號(hào)查詢 */voidStudent_Select(){intsel;printf("1-------------------- 按姓名查詢\n");printf("2-------------------- 按學(xué)號(hào)查詢\n");scanf("%d",&sel);if(sel==2){while(1){charid[20];intindex;printf("請(qǐng)輸入要查詢的學(xué)生的學(xué)號(hào) :");scanf("%s",&id);getchar();index=Student_SearchID(id);if(index==-1){printf("學(xué)生不存在!\n");}else{printf("你要查詢的學(xué)生信息為 :\n");Student_DisplaySingle(index);}printf("是否繼續(xù)?(y/n)");if(getchar()=='n'){break;}}}elseif(sel==1){while(1){charname[20];intindex;printf("請(qǐng)輸入要查詢的學(xué)生的姓名 :");scanf("%s",&name);getchar();index=Student_SearchByName(name);if(index==-1){printf("學(xué)生不存在!\n");}else{printf("你要查詢的學(xué)生信息為 :\n");Student_DisplaySingle(index);}printf("是否繼續(xù)?(y/n)");if(getchar()=='n'){break;}}}elseprintf("信息錯(cuò)誤!\n");}/*排序*/voidStudent_SortByAverage(){inta,sel;printf("1--------------------printf("2--------------------printf("3--------------------printf("4--------------------printf("5--------------------printf("6--------------------printf("7--------------------
按學(xué)號(hào)排序\n");按姓名排序\n");按計(jì)算機(jī)排序\n");按英語(yǔ)排序\n");按數(shù)學(xué)排序\n");按總分排序\n");按平均分排序\n");scanf("%d",&sel);if(sel==1){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(strcmp(students[j-1].ID,students[j].ID)>0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==2){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(strcmp(students[j-1].Name,students[j].Name)>0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==3){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Mark1>students[j].Mark1){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==4){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Mark2>students[j].Mark2){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==5){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Mark3>students[j].Mark3){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==6){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Zongfen>students[j].Zongfen){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==7){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Average>students[j].Average){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseprintf("信息錯(cuò)誤!\n");}/*顯示學(xué)生信息 */voidStudent_Display(){inti;printf("%10s%10s%8s%8s%8s%8s%10s\n","學(xué)號(hào)","姓名","計(jì)算機(jī)","英語(yǔ)","數(shù)學(xué)","總分","平均成績(jī)"); printf("-------------------------------------------------------------\n");for(i=0;i<num;i++){rintf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[i].ID,students[i].Name,students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Zongfen,students[i].Average);}}/*將學(xué)生信息從文件讀出 */voidIO_ReadInfo(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打開(kāi)文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i<num;i++){fread(&students[i],sizeof(struct Student),1,fp);}}fclose(fp);}/*將學(xué)生信息寫(xiě)入文件 */voidIO_WriteInfo(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打開(kāi)文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("寫(xiě)入文件錯(cuò)誤!\n");}for(i=0;i<num;i++){if(fwrite(&students[i],sizeof(struct Student),1,fp)!=1){printf("寫(xiě)入文件錯(cuò)誤!\n");}}fclose(fp);}/*統(tǒng)計(jì)不同分?jǐn)?shù)段的學(xué)生 */voidStudent_TJ(){while(1){inta,sel;floatm,n;printf("1--------------------
按計(jì)算機(jī)統(tǒng)計(jì)不同分?jǐn)?shù)段的學(xué)生
\n");printf("2--------------------
按英語(yǔ)統(tǒng)計(jì)不同分?jǐn)?shù)段的學(xué)生
\n");printf("3--------------------
按數(shù)學(xué)統(tǒng)計(jì)不同分?jǐn)?shù)段的學(xué)生
\n");printf("4--------------------
按總分統(tǒng)計(jì)不同分?jǐn)?shù)段的學(xué)生
\n");printf("5--------------------
按平均分統(tǒng)計(jì)不同分?jǐn)?shù)段的學(xué)生
\n");scanf("%d",&sel);printf("輸入所需查詢的分?jǐn)?shù)段 [m,n]");scanf("%f%f",&m,&n);printf("%10s%10s%8s%8s%8s%8s%10s\n","學(xué)號(hào)","姓名","計(jì)算機(jī)","英語(yǔ)","數(shù)學(xué)","總分","平均成績(jī)");if(sel==1){intj;for(j=0;j<=num;j++){if(students[j].Mark1>=m&&students[j].Mark1<=n)Student_DisplaySingle1(j);}}elseif(sel==2){intj;for(j=0;j<=num;j++){if(students[j].Mark2>=m&&students[j].Mark2<=n)Student_DisplaySingle1(j);}}elseif(sel==3){intj;for(j=0;j<=num;j++){if(students[j].Mark3>=m&&students[j].Mark3<=n)Student_DisplaySingle1(j);}}elseif(sel==4){intj;for(j=0;j<=num;j++){if(students[j].Zongfen>=m&&students[j].Zongfen<=n)Student_DisplaySingle1(j);}}elseif(sel==5){intj;for(j=0;j<=num;j++){if(students[j].Average>=m&&students[j].Average<=n)Student_DisplaySingle1(j);}}elseprintf("信息錯(cuò)誤!\n");printf("是否繼續(xù)?(y/n)");a=getchar();if(ge
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSA 272-2024 高磁導(dǎo)率低矯頑力FeNiMnSi 軟磁合金
- 二零二五年度養(yǎng)老公寓入住與心理咨詢服務(wù)合同
- 二零二五年度房屋買賣及家居升級(jí)借款協(xié)議
- 2025年度生鮮配送與電商渠道合作合同范本
- 二零二五年度互聯(lián)網(wǎng)公司業(yè)績(jī)對(duì)賭協(xié)議約定倍收益合同
- 2025年度退房合同租賃期滿通知協(xié)議
- 二零二五年度人工智能產(chǎn)業(yè)股東入股合同
- 2025年度新能源技術(shù)研發(fā)中心委托管理合同協(xié)議書(shū)
- 二零二五年度健身俱樂(lè)部合伙開(kāi)店經(jīng)營(yíng)協(xié)議
- 二零二五年度手機(jī)行業(yè)經(jīng)銷商返利管理細(xì)則
- 2020-2024年五年高考?xì)v史真題分類匯編(全國(guó))專題14 中國(guó)古代史(非選擇題)(解析版)
- 電子教案-《3D打印技術(shù)概論》
- 安全生產(chǎn)責(zé)任體系重點(diǎn)崗位履職清單
- 四川省成都市2024年中考道德與法治真題試卷(含答案)
- 《東北財(cái)經(jīng)大學(xué)審計(jì)》課件
- 牧童謠課件教學(xué)
- 大學(xué)物理實(shí)驗(yàn)(緒論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 圖書(shū)出版項(xiàng)目合作協(xié)議
- 《現(xiàn)代家政導(dǎo)論》電子教案 2.2模塊二項(xiàng)目二家庭制度認(rèn)知
- 商務(wù)禮儀課件教學(xué)課件
- 部編版七年級(jí)歷史下冊(cè)全冊(cè)導(dǎo)學(xué)案
評(píng)論
0/150
提交評(píng)論