




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
#include"stdio.h"/*定義學生結構體 */structStudent{charID[20];charName[20];floatMark1;/*計算機*/floatMark2;/*英語*/floatMark3; /*數學*/floatZongfen;/*總分*/floatAverage;};/*平均分*//*聲明學生數組及學生數量 */structStudentstudents[2000];intnum=0;/*求總分*/float Zong(structStudentstu){return(stu.Mark1+stu.Mark2+stu.Mark3);}/*求平均值*/floatAvg(structStudentstu){return(stu.Mark1+stu.Mark2+stu.Mark3)/3;}/*通過學號返回數組下標 */intStudent_SearchByIndex(charid[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].ID,id)==0){returni;}}return-1;}/*通過姓名返回數組下標 */intStudent_SearchByName(charname[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].Name,name)==0){returni;}}return-1;}/*通過學號返回數組下標 */intStudent_SearchID(charid[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].ID,id)==0){returni;}}return-1;}/*顯示單條學生記錄 */voidStudent_DisplaySingle(intindex){printf("%10s%10s%8s%8s%8s%8s%10s\n","學號","姓名","計算機","英語","數學","總分","平均成績");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);}/*插入學生信息 */voidStudent_Insert(){while(1){printf("請輸入學號:");scanf("%s",&students[num].ID);getchar();printf("請輸入姓名:");scanf("%s",&students[num].Name);getchar();printf("請輸入計算機成績:");scanf("%f",&students[num].Mark1);getchar();printf("請輸入英語成績:");scanf("%f",&students[num].Mark2);getchar();printf("請輸入數學成績:");scanf("%f",&students[num].Mark3);getchar();students[num].Average=Avg(students[num]);students[num].Zongfen=Zong(students[num]);num++;printf("是否繼續?(y/n)");if(getchar()=='n'){break;}}}voidexit();/*修改學生信息 */voidStudent_Modify(){floatmark1,mark2,mark3;while(1){charid[20];intindex;printf("請輸入要修改的學生的學號 :");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("學生不存在!\n");}else{printf("你要修改的學生信息為 :\n");Student_DisplaySingle(index);printf("-- 請輸入新值--\n");printf("請輸入學號:");scanf("%s",&students[index].ID);getchar();printf("請輸入姓名:");scanf("%s",&students[index].Name);getchar();printf("請輸入成績:");scanf("%f",&students[index].Mark1);getchar();printf("請輸入成績:");scanf("%f",&students[index].Mark2);getchar();printf("請輸入成績:");scanf("%f",&students[index].Mark3);getchar();students[index].Zongfen=Zong(students[index]);students[index].Average=Avg(students[index]); }printf("是否繼續?(y/n)");if(getchar()=='n'){break;}}}/*刪除學生信息 */voidStudent_Delete(){inti;while(1){charid[20];intindex;printf("請輸入要刪除的學生的學號 :");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("學生不存在!\n");}else{printf("你要刪除的學生信息為 :\n");Student_DisplaySingle(index);printf("是否真的要刪除 ?(y/n)");if(getchar()=='y'){for(i=index;i<num-1;i++){students[i]=students[i+1];}num--;}getchar();}printf("是否繼續?(y/n)");if(getchar()=='n'){break;}}}/*按姓名或學號查詢 */voidStudent_Select(){intsel;printf("1-------------------- 按姓名查詢\n");printf("2-------------------- 按學號查詢\n");scanf("%d",&sel);if(sel==2){while(1){charid[20];intindex;printf("請輸入要查詢的學生的學號 :");scanf("%s",&id);getchar();index=Student_SearchID(id);if(index==-1){printf("學生不存在!\n");}else{printf("你要查詢的學生信息為 :\n");Student_DisplaySingle(index);}printf("是否繼續?(y/n)");if(getchar()=='n'){break;}}}elseif(sel==1){while(1){charname[20];intindex;printf("請輸入要查詢的學生的姓名 :");scanf("%s",&name);getchar();index=Student_SearchByName(name);if(index==-1){printf("學生不存在!\n");}else{printf("你要查詢的學生信息為 :\n");Student_DisplaySingle(index);}printf("是否繼續?(y/n)");if(getchar()=='n'){break;}}}elseprintf("信息錯誤!\n");}/*排序*/voidStudent_SortByAverage(){inta,sel;printf("1--------------------printf("2--------------------printf("3--------------------printf("4--------------------printf("5--------------------printf("6--------------------printf("7--------------------
按學號排序\n");按姓名排序\n");按計算機排序\n");按英語排序\n");按數學排序\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("信息錯誤!\n");}/*顯示學生信息 */voidStudent_Display(){inti;printf("%10s%10s%8s%8s%8s%8s%10s\n","學號","姓名","計算機","英語","數學","總分","平均成績"); 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);}}/*將學生信息從文件讀出 */voidIO_ReadInfo(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打開文件!\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);}/*將學生信息寫入文件 */voidIO_WriteInfo(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打開文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("寫入文件錯誤!\n");}for(i=0;i<num;i++){if(fwrite(&students[i],sizeof(struct Student),1,fp)!=1){printf("寫入文件錯誤!\n");}}fclose(fp);}/*統計不同分數段的學生 */voidStudent_TJ(){while(1){inta,sel;floatm,n;printf("1--------------------
按計算機統計不同分數段的學生
\n");printf("2--------------------
按英語統計不同分數段的學生
\n");printf("3--------------------
按數學統計不同分數段的學生
\n");printf("4--------------------
按總分統計不同分數段的學生
\n");printf("5--------------------
按平均分統計不同分數段的學生
\n");scanf("%d",&sel);printf("輸入所需查詢的分數段 [m,n]");scanf("%f%f",&m,&n);printf("%10s%10s%8s%8s%8s%8s%10s\n","學號","姓名","計算機","英語","數學","總分","平均成績");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("信息錯誤!\n");printf("是否繼續?(y/n)");a=getchar();if(ge
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 質量安全崗位管理制度
- 質量記錄控制管理制度
- 小公司工具管理制度
- 職工關系調薪管理制度
- 線下銷售人員管理制度
- 終端站點星級管理制度
- 工地上消防管理制度
- 小飯桌規章管理制度
- 生產車間建材管理制度
- 腌制生產車間管理制度
- 2024年廣東省廣州市中考英語真題卷及答案解析
- 化工設備機械基礎習題及參考答案
- 《課件旅游法培訓》課件
- 高中生物(部編版)選擇性必修3知識清單(問答版)
- 山東師范大學《高級英語(二)》2021-2022學年第一學期期末試卷
- 手術體位擺放原則及注意事項
- 2024年熔化焊接與熱切割理論考試1000題(附答案)
- 零售藥店計算機管理系統操作規程
- 潔凈室施工培訓
- 2024年10月自考14540藥理學本試題及答案含評分參考
- 醫療設備驗收方案及標準
評論
0/150
提交評論