版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、#include "stdio.h"/*定義學(xué)生結(jié)構(gòu)體*/struct Student char ID20; /* 學(xué)號(hào) */char Name20;/* 姓名 */float Mark1; /* 數(shù)學(xué)成績*/float Mark2; /* 程序設(shè)計(jì)成績*/float Mark3; /* 總分成績*/float Average; /* 平均分 */;/*聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/struct Student students1000;int num=0;/*求平均值*/float Avg(struct Student stu)return (stu.Mark1+stu.Ma
2、rk2+stu.Mark3)/3;/*通過學(xué)號(hào)返回?cái)?shù)組下標(biāo)*/int Student_SearchByIndex(char id)int i;for (i=0;i<num;i+)if (strcmp(studentsi.ID,id)=0)return i;return -1;/*通過姓名返回?cái)?shù)組下標(biāo)*/int Student_SearchByName(char name)int i;for (i=0;i<num;i+)if (strcmp(studentsi.Name,name)=0)return i;return -1;/*顯示單條學(xué)生記錄*/void Student_Displ
3、aySingle(int index)printf("%10s%10s%8s%8s%8s%10sn"," 學(xué)號(hào) ","姓名","成績","成績","成績","平均成績");printf("n");printf("%10s%10s%8.2f%8.2f%8.2f%10.2fn",studentsindex.ID,studentsindex.Name,studentsindex.Mark1,studentsindex.Ma
4、rk2,studentsindex.Mark3,studentsindex.Aver age);/*增加學(xué)生記錄*/void Student_Insert()while(1)printf(" 請(qǐng)輸入學(xué)號(hào):");scanf("%s",&studentsnum.ID);getchar();printf(" 請(qǐng)輸入姓名:");scanf("%s",&studentsnum.Name);getchar();printf(" 請(qǐng)輸入數(shù)學(xué)成績:");scanf("%f",
5、&studentsnum.Mark1);getchar();printf(" 請(qǐng)輸入設(shè)計(jì)報(bào)告成績:");scanf("%f",&studentsnum.Mark2);getchar();printf(" 請(qǐng)輸入總分成績:");scanf("%f",&studentsnum.Mark3);getchar();studentsnum.Average=Avg(studentsnum);num+;printf(" 是否繼續(xù)?(y/n)");if (getchar()='n
6、')break;/*修改學(xué)生信息*/void Student_Modify()float mark1,mark2,mark3;while(1)char id20;int index;printf(" 請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index=-1)printf(" 學(xué)生不存在!n");elseprintf(" 你要修改的學(xué)生信息為:n");Student_DisplaySin
7、gle(index);printf("- 請(qǐng)輸入新值-n");printf(" 請(qǐng)輸入學(xué)號(hào):");scanf("%s",&studentsindex.ID);getchar();printf(" 請(qǐng)輸入姓名:");scanf("%s",&studentsindex.Name);getchar();printf(" 請(qǐng)輸入數(shù)學(xué)成績:");scanf("%f",&studentsindex.Mark1);getchar();printf
8、(" 請(qǐng)輸入設(shè)計(jì)報(bào)告成績:");scanf("%f",&studentsindex.Mark2);getchar();printf(" 請(qǐng)輸入總分成績:");scanf("%f",&studentsindex.Mark3);getchar();studentsindex.Average=Avg(studentsindex);printf(" 是否繼續(xù)?(y/n)");if (getchar()='n')break;/*刪除學(xué)生信息*/void Student_De
9、lete()int i;while(1) char id20;int index;printf(" 請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào):");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index=-1)printf(" 學(xué)生不存在!n");elseprintf(" 你要?jiǎng)h除的學(xué)生信息為:n");Student_DisplaySingle(index);printf(" 是否真的要?jiǎng)h除?(y/n)");if (getc
10、har()='y')for (i=index;i<num-1;i+)studentsi=studentsi+1;num-;getchar();printf(" 是否繼續(xù)?(y/n)");if (getchar()='n')break;/*按姓名查詢*/void Student_Select()while(1)char name20;int index;printf(" 請(qǐng)輸入要查詢的學(xué)生的姓名:");scanf("%s",&name);getchar();index=Student_Sea
11、rchByName(name);if (index=-1) printf(" 學(xué)生不存在!n");elseprintf(" 你要查詢的學(xué)生信息為:n");Student_DisplaySingle(index);printf(" 是否繼續(xù)?(y/n)");if (getchar()='n')break;/*按平均值排序*/void Student_SortByAverage()int i,j;struct Student tmp;for (i=0;i<num;i+)for (j=1;j<num-i;j+)i
12、f (studentsj-1.Average<studentsj.Average)tmp=studentsj-1;studentsj-1=studentsj;studentsj=tmp;/*顯示學(xué)生信息*/void Student_Display() int i;printf("%10s%10s%8s%8s%8s%10sn"," 學(xué)號(hào) ","姓名 ","成績 ","成績","成績","平均成績");printf("n");for
13、(i=0;i<num;i+)printf("%10s%10s%8.2f%8.2f%8.2f%10.2fn",studentsi.ID,studentsi.Name, studentsi.Mark1,studentsi.Mark2,studentsi.Mark3,studentsi.Average); /*將學(xué)生信息從文件讀出*/void IO_ReadInfo() FILE *fp;int i;if (fp=fopen("Database.txt","rb")=NULL)printf(" 不能打開文件!n")
14、;return;if (fread(&num,sizeof(int),1,fp)!=1)num=-1;elsefor(i=0;i<num;i+)fread(&studentsi,sizeof(struct Student),1,fp);fclose(fp);/*將學(xué)生信息寫入文件*/void IO_WriteInfo()FILE *fp;int i;if (fp=fopen("Database.txt","wb")=NULL)printf(" 不能打開文件!n");return;if (fwrite(&n
15、um,sizeof(int),1,fp)!=1)printf(" 寫入文件錯(cuò)誤!n");for (i=0;i<num;i+)if (fwrite(&studentsi,sizeof(struct Student),1,fp)!=1)printf(" 寫入文件錯(cuò)誤!n");fclose(fp);/*主程序*/main()int choice;IO_ReadInfo();while(1)/*主菜單*/n");printf("n 學(xué)生成績管理系統(tǒng)-printf("1.增加學(xué)生記錄n");printf("2.修改學(xué)生記錄n");printf("3.刪除學(xué)生記錄n");printf("4. 按姓名查詢學(xué)生記錄n");printf("5. 按平均成績排序n");printf("6. 退出 n");printf(" 請(qǐng)選擇 (1-6):");scanf("%d",
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年商業(yè)廣告燈箱安裝施工合同
- 2025年度大曰金地產(chǎn)樓盤銷售代理合同全案策劃執(zhí)行合同4篇
- 2025年私人住房買賣合同書含物業(yè)管理服務(wù)條款范本2篇
- 2025年度高端鈦礦資源批量采購合同
- 二零二五版鍋爐設(shè)備買賣合同附安全使用操作手冊(cè)3篇
- 2025年度醫(yī)療設(shè)備租賃合同擔(dān)保與維修保養(yǎng)服務(wù)范本4篇
- 二零二五年度屋頂防水隔熱一體化合同
- 2025年BEC商務(wù)英語專業(yè)課程研發(fā)與授權(quán)使用合同3篇
- 二零二五版智慧城市基礎(chǔ)設(shè)施用地租賃合同3篇
- 預(yù)應(yīng)力專項(xiàng)施工方案
- 三年級(jí)數(shù)學(xué)寒假作業(yè)每日一練30天
- 二年級(jí)數(shù)學(xué)上冊(cè)100道口算題大全 (每日一套共26套)
- 總住院醫(yī)師管理制度
- 八年級(jí)上冊(cè)歷史 第二單元 社會(huì)主義制度的建立與社會(huì)主義建設(shè)的探索
- DB31T 360-2020 住宅物業(yè)管理服務(wù)規(guī)范
- 園林綠化工程大樹移植施工方案
- 應(yīng)收賬款最高額質(zhì)押擔(dān)保合同模版
- 基于新型光彈性實(shí)驗(yàn)技術(shù)的力學(xué)實(shí)驗(yàn)教學(xué)方法探索
- 訴前車輛保全申請(qǐng)書(5篇)
- 醫(yī)院后勤保障管理組織架構(gòu)圖
- 課件:TTT職業(yè)培訓(xùn)師課程
評(píng)論
0/150
提交評(píng)論