已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
#include#include#define M 50struct student char name15; char num10; char sex3; int score6;sM;/錄入基本信息void inputBas() int i,n; FILE *f; printf(請輸入待錄入的學生個數(shù):); scanf(%d,&n); f=fopen(BasicInformation.txt,w+); for (i=0;in;i+) printf(請輸入第%d個學生的姓名:,i+1); scanf(%s,); printf(請輸入第%d個學生的學號:,i+1); scanf(%s,si.num); printf(請輸入第%d個學生的性別:,i+1); scanf(%s,si.sex); if(fwrite(&si,sizeof(struct student),1,f)!=1) printf(File BasicInformation.txt write errorn); return; fclose(f);/修改基本信息void modifyBas() int m=-1,k; char na15,nu10,se3,n10; FILE *fp,*f; fp=fopen(BasicInformation.txt,r); if(fp=fopen(BasicInformation.txt,r)=NULL) printf(找不到文件!n); exit(0); printf(請輸入要修改的學生學號:); scanf(%s,n); for(int i=0;iM;i+) fscanf(fp,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; fclose(fp); if(m=-1) printf(n該學號不存在!n); return; printf(1:修改姓名n); printf(2:修改學號n); printf(3:修改性別n);d printf(4:退出修改n); printf(n請選擇菜單編號:); scanf(%d,&k); f=fopen(BasicInformation.txt,w); switch(k) case 1: printf(請輸入新姓名:); scanf(%s,na); strcpy(,na);break; case 2: printf(請輸入新學號:); scanf(%s,nu); strcpy(sm.num,nu);break; case 3: printf(請輸入新性別:); scanf(%s,se); strcpy(sm.sex,se);break; case 4:break; default:printf(請在1-4中選擇!);break; for(i=0;iM;i+) if(fwrite(&si,sizeof(struct student),1,f)!=1) printf(File BasicInformation.txt write errorn); return; fclose(f);/刪除函數(shù)void delstudent() int i,m=-1,k=0; char n10; FILE *fp,*f,*f1,*p1; fp=fopen(BasicInformation.txt,r); if(fp=fopen(BasicInformation.txt,r)=NULL) printf(找不到文件!n); exit(0); printf(請輸入要刪除學生的學號:); scanf(%s,n); for(i=0;iM;i+) fscanf(fp,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; if(strcmp(si.num,n)=0) m=i; k+; if(m=-1) printf(n該學號不存在,刪除失敗!n);return; fclose(fp); f=fopen(BasicInformation.txt,w); for(i=m;iM;i+) strcpy(,si+1.name); strcpy(si.num,si+1.num); strcpy(si.sex,si+1.sex); for(i=0;iM;i+) if(fwrite(&si,sizeof(struct student),1,f)!=1) printf(文件寫入錯誤!n); return; fclose(f); f1=fopen(score.txt,r); for(i=0;iM;i+) fscanf(f1,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); fclose(f1); p1=fopen(score.txt,w); for(i=m;iM;i+) for(int j=0;j6;j+) si.scorej=si+1.scorej; for(i=0;ik-1;i+) fprintf(p1,%d %d %d %d %d %d ,si.score0,si.score1,si.score2,si.score3,si.score4,si.score5); fclose(p1); printf(n刪除成功!n);/成績錄入函數(shù)void inputScore() int i,k=0; FILE *fp,*f; fp=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(fp,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f=fopen(score.txt,w); for(i=0;ik;i+) fscanf(fp,%s%s%s,,si.num,si.sex); printf(請輸入學號為%s同學的語文、數(shù)學、英語、物理、化學、生物成績,并以空格鍵隔開n,si.num); scanf(%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); fprintf(f,%d %d %d %d %d %d ,si.score0,si.score1,si.score2,si.score3,si.score4,si.score5); fclose(fp); fclose(f);/修改成績函數(shù)void modifyScore() int i,m=-1,k=0; char n10; FILE *fp,*f,*f1; printf(請輸入要修改的學生的學號:); scanf(%s,n); f=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; if(strcmp(,0)!=0) k+; fclose(f); if(m=-1)printf(n該學號不存在!n);return; fp=fopen(score.txt,r); for(i=0;ik;i+) fscanf(fp,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); fclose(fp); printf(請輸入該生的語文、數(shù)學、英語、物理、化學、生物成績,并以空格鍵隔開n); scanf(%d%d%d%d%d%d,&sm.score0,&sm.score1,&sm.score2,&sm.score3,&sm.score4,&sm.score5); f1=fopen(score.txt,w); for(i=0;ik;i+) fprintf(f,%d %d %d %d %d %d ,si.score0,si.score1,si.score2,si.score3,si.score4,si.score5); fclose(f1);/按某科目排名輸出函數(shù)void subjectsort() int i,m,t,k=0; char na15; FILE *f1,*f2; printf(n=按某科目排名輸出=n); printf( 1:按語文成績排名輸出n); printf( 2:按數(shù)學成績排名輸出n); printf( 3:按英語成績排名輸出n); printf( 4:按物理成績排名輸出n); printf( 5:按化學成績排名輸出n); printf( 6:按生物成績排名輸出n); printf( 請選擇菜單編號:); scanf(%d,&m); f2=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f2,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f1=fopen(score.txt,r); for (i=0;ik;i+) fscanf(f1,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf(n 姓名 該科成績n); for(i=0;ik;i+) for(int j=i+1;jM;j+) if(si.scorem-1sj.scorem-1) t=si.scorem-1; si.scorem-1=sj.scorem-1; sj.scorem-1=t; strcpy(na,); strcpy(,); strcpy(,na); for(i=0;ik;i+) printf( %s %dn,,si.scorem-1); fclose(f1); fclose(f2);/統(tǒng)計總分輸出函數(shù)void totalscore() int i,k=0; FILE *f1,*f2; f1=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f1,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f2=fopen(score.txt,r); printf(n姓名 學號 性別 總分n); for (i=0;ik;i+) fscanf(f2,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf(%s %s %s %dn,,si.num,si.sex,(si.score0+si.score1+si.score2+si.score3+si.score4+si.score5); fclose(f2);/查詢某生的基本信息void searchstudentinformation() int i,m=-1; FILE *f; char n10; printf(n請輸入要查詢的學生學號:); scanf(%s,n); printf(n 姓名 學號 性別n); f=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; if(m=-1) printf(n該學號不存在!n); else printf( %s %s %sn,,sm.num,sm.sex); fclose(f);/查詢某生的成績void searchstudentscore() int i,m=-1,k=0; FILE *f1,*f2; char n10; printf(n請輸入要查詢的學生學號:); scanf(%s,n); printf(n 姓名 語文 數(shù)學 英語 物理 化學 生物n); f1=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f1,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; if(strcmp(,0)=0) break; k+; if(m=-1) printf(n該學號不存在!n); else f2=fopen(score.txt,r); for(i=0;ik;i+) fscanf(f2,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf( %s %d %d %d %d %d %dn,,sm.score0,sm.score1,sm.score2,sm.score3,sm.score4,sm.score5); fclose(f1); fclose(f2);/查詢某科目前十名名單void subjecttop() int i,m,t,k=0; char na15; FILE *f1,*f2; printf(n=查詢科目前十名名單=n); printf( 1:語文成績前十名n); printf( 2:數(shù)學成績前十名n); printf( 3:英語成績前十名n); printf( 4:物理成績前十名n); printf( 5:化學成績前十名n); printf( 6:生物成績前十名n); printf( 請選擇菜單編號:); scanf(%d,&m); f2=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f2,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f1=fopen(score.txt,r); for (i=0;ik;i+) fscanf(f1,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf(n 姓名 該科成績n); for(i=0;ik;i+) for(int j=i+1;jM;j+) if(si.scorem-1sj.scorem-1) t=si.scorem-1; si.scorem-1=sj.scorem-1; sj.scorem-1=t; strcpy(na,); strcpy(,); strcpy(,na); for(i=0;ik&i10;i+) printf( %s %dn,,si.scorem-1); fclose(f1); fclose(f2);/基本信息管理模塊void BasicInformationManagement() int N; printf(nn*學生基本信息管理*n); printf(-n); printf(1:錄入學生基本信息n); printf(2:修改學生基本信息n); printf(3:刪除學生基本信息n); printf(4:返回主菜單n); printf(-n); printf(請選擇子菜單編號:); scanf(%d,&N); switch (N) case 1:inputBas();break; case 2:modifyBas();break; case 3:delstudent();break; case 4:return; default:printf(請在1-4中選擇); /成績管理模塊void ResultManage() int N; printf(nn*學生成績管理*n); printf(-n); printf(1:錄入學生成績n); printf(2:修改學生成績n); printf(3:返回主菜單n); printf(-n); printf(請選擇子菜單編號:); scanf(%d,&N); switch (N) case 1:inputScore();break; case 2:modifyScore();break; case 3:return; default:printf(請在1-3中選擇n); /統(tǒng)計及查詢模塊void StatisticalInformation() int k; printf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 法院土地征收合同范例
- 農(nóng)資化肥銷售合同范例
- 新舊油罐銷售合同范例
- 借用建筑合同范例
- 與員工合作合同范例
- 2025年朝陽貨運從業(yè)資格證怎么考
- 宅基地多次轉(zhuǎn)讓合同范例
- 瓜蔬銷售合同范例
- 出售水果大棚合同范例
- 物質(zhì)檢測合同范例
- 矩形波導中電磁波的傳播模式
- 公司治理學(第三版)整套課件完整版電子教案課件匯總(最新)
- 一年級4.2【章節(jié)知識精講】6-9的合與分
- 醫(yī)院放射科核輻射安全隱患排查情況自查報告
- 2022年諸暨市高中提前招生考試中考數(shù)學試卷及解析
- 集體土地使用權(quán)流轉(zhuǎn)協(xié)議書
- 2012NCCN指南更新解讀結(jié)直腸癌
- 第三講_陰離子型黏土插層復合材料
- 國家開放大學《商務英語4》形考任務1-8參考答案
- 供銷合作社知識答題最新
- 細菌耐藥表型的檢測方法
評論
0/150
提交評論