c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)報(bào)告程序_第1頁(yè)
c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)報(bào)告程序_第2頁(yè)
c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)報(bào)告程序_第3頁(yè)
c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)報(bào)告程序_第4頁(yè)
c語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)報(bào)告程序_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論