學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)
學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)
學(xué)生成績(jī)管理系統(tǒng)_第4頁(yè)
學(xué)生成績(jī)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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)介

注意:需要在工程中建立一個(gè)Database.txt的文件#include<stdio.h>#include<string.h>/*定義學(xué)生結(jié)構(gòu)體*/structStudent{charID[20];charName[20];floatMark1;floatMark2;floatMark3;floatAverage;};/*聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/structStudentstudents[1000];intnum;/*求平均值*/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;}/*顯示單條學(xué)生記錄*/voidStudent_DisplaySingle(intindex){ printf("\n");printf("%10s%10s%8s%8s%8s%10s\n","學(xué)號(hào)","姓名","C語(yǔ)言","高數(shù)","英語(yǔ)","平均成績(jī)");printf("-------------------------------------------------------\n");printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[index].ID,students[index].Name,students[index].Mark1,students[index].Mark2,students[index].Mark3,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("C語(yǔ)言:");scanf("%f",&students[num].Mark1);//getchar();printf("高數(shù):");scanf("%f",&students[num].Mark2);//getchar();printf("英語(yǔ):");scanf("%f",&students[num].Mark3);getchar();students[num].Average=Avg(students[num]);num++;printf("是否繼續(xù)?(y/n)");if(getchar()=='n'){break;}}}/*修改學(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("C語(yǔ)言:");scanf("%f",&students[index].Mark1);getchar();printf("高數(shù):");scanf("%f",&students[index].Mark2);getchar();printf("英語(yǔ):");scanf("%f",&students[index].Mark3);getchar();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;}}}/*按姓名查詢*/voidStudent_Select(){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("\n");printf("你要查詢的學(xué)生信息為:\n");Student_DisplaySingle(index);}printf("是否繼續(xù)?(y/n)");if(getchar()=='n'){break;}}}/*顯示學(xué)生信息*/voidStudent_Display(){inti; printf("\n");printf("%10s%10s%8s%8s%8s%10s\n","學(xué)號(hào)","姓名","C語(yǔ)言","高數(shù)","英語(yǔ)","平均成績(jī)");printf("---------------------------------------------------\n");for(i=0;i<num;i++){printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[i].ID,students[i].Name,students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average);}}/*按平均值排序*/voidStudent_SortByAverage(){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;}}} Student_Display();}/*將學(xué)生信息從文件讀出*/voidIO_ReadInfo(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打開(kāi)文件!\n");}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i<num;i++){fread(&students[i],sizeof(structStudent),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(structStudent),1,fp)!=1){printf("寫(xiě)入文件錯(cuò)誤!\n");}}fclose(fp);}/*主程序*/main(){intchoice,t;IO_ReadInfo();while(t!=0){/*主菜單*/printf("\n-------------------學(xué)生成績(jī)管理系統(tǒng)-----------------\n"); printf("\n");printf("0.增加學(xué)生記錄\n");printf("1.修改學(xué)生記錄\n");printf("2.刪除學(xué)生記錄\n");printf("3.按姓名查詢學(xué)生記錄\n");printf("4.顯示學(xué)生成績(jī)\n");printf("5.對(duì)學(xué)生成績(jī)進(jìn)行排序\n");printf("6.保存學(xué)生信息至記錄文件\n");printf("7.退出?\n"); printf("\n-----------------------------------------------------\n");printf("請(qǐng)選擇(0-7):");scanf("%d",&choice);getchar();switch(choice){case0:Student_Insert();break;case1:Student_Modify();break;case2:Student_Delete();break;case3:Student_Select();break;case4: Student_Display();break; case5:Student_SortByAverage(); break;case6:printf("是否保存(y/n)"); if(getchar()=='n')break; IO_WriteInfo();break;case7:printf("是否退出(y/n)");if(

溫馨提示

  • 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)論