版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、附表1.程序源碼#include#include#include#include#define N 100struct student char num13;char name18;float math;float english;float cprogram;float circuit;float law;float pingjun;float score5;void mainprint();void scoreprint();void studentprint();void scoreInput();void scoreStat();void studentStatus();void bu
2、kao(); /*生成并打印補考通知單*/void tuixue(); /*生成并打印退學通知單*/void xinmingdan(); /*生成并打印新名單*/void sortAnhao(); /*按學號排序*/void jisuanPingjun(); /*計算平均分并排序*/void tongjiFenshu(); /*統(tǒng)計分數(shù)段*/void fenxi(); /*分析學生成績,算出不及格門數(shù)*/void mynew(); /*創(chuàng)新功能*/void outstudent();void outdanke();void teshutuixue();void main()char choos
3、e=0,yes_no=0;dosystem(color 4f);system(cls);mainprint();printf( );choose=getche( ); switch(choose)case1:scoreInput();break; /*成績錄入*/case2:scoreStat();break;case3:studentStatus();break;case4:mynew();break;case0:break;default:printf(n %c是非法選項!n);break;if(choose=0) break;printf(n 即將進入主菜單,要繼續(xù)選擇嗎(Y/N)?n)
4、;doyes_no=getche( );while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n);while(yes_no=y|yes_no=Y);void mainprint()printf( |*|n);printf( | 歡迎使用學籍管理系統(tǒng) |n);printf( |*|n);printf( | 請輸入選項編號(04) |n);printf( |-|n);printf( | 1-錄入成績 |n);printf( | 2-統(tǒng)計成績 |n);printf( | 3-處理學籍 |n);printf( | 4-創(chuàng)新功能 |n);printf( | 0- 退出
5、 |n);printf( |-|n);void scoreInput()int i=0;char yes_no=0;struct student ex1N=0;FILE *fp=NULL;system(color 5f);system(cls); fp=fopen(d:學生基本信息.txt,w);if(fp=NULL) printf(n 打開文件失敗!n); return; printf(n歡迎進入成績錄入系統(tǒng)n);printf(n 請輸入第%d個記錄:n,i+1);printf(n輸入學生學號:(用#結(jié)束程序);scanf(%s,ex1i.num); printf(n輸入學生姓名:(用#結(jié)束
6、程序); scanf(%s,); printf(n請依次輸入學生的數(shù)學、英語、c編程、電路設(shè)計和法律基礎(chǔ)的成績:n);scanf(%f%f%f%f%f,&ex1i.math,&ex1i.english,&ex1i.cprogram,&ex1i.circuit,&ex1i.law); while(ex1i.num0!=#&0!=#)fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex1i.num,,ex1i.math,ex1i.english,ex1i.cprogram,ex1i.circ
7、uit,ex1i.law); i+;printf(n 請輸入第%d個記錄:n,i+1); printf(n輸入學生學號:(用#結(jié)束程序);scanf(%s,ex1i.num); printf(n輸入學生姓名:(用#結(jié)束程序); scanf(%s,); printf(n請依次輸入學生的數(shù)學、英語、c編程、電路設(shè)計和法律基礎(chǔ)的成績:n);scanf(%f%f%f%f%f,&ex1i.math,&ex1i.english,&ex1i.cprogram,&ex1i.circuit,&ex1i.law); fclose(fp);void scoreStat() char choose=
8、0,yes_no=0;system(color 9f); dosystem(cls);printf(n 歡迎選擇成績統(tǒng)計系統(tǒng)n); /*顯示菜單*/printf(n |-|);printf(n | 請輸入選項編號(04) |);printf(n |-|);printf(n | 1-按學號排序 |);printf(n | 2-按平均分數(shù)排序 |);printf(n | 3-統(tǒng)計分數(shù)段 |);printf(n | 4-返回 |);printf(n | 0-退出系統(tǒng) |);printf(n |-|n);choose=getch(); switch(choose)case1:sortAnhao();b
9、reak; case2:jisuanPingjun();break;case3:tongjiFenshu();break;case4:main(); break;case0:break;default:printf(n %c是非法選項!n);break;if(choose=0) break;printf(n 要繼續(xù)選擇嗎(Y/N)?n);do yes_no=getche();while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n);while(yes_no=y|yes_no=Y);void sortAnhao() int i=0,j=0,n=0; struc
10、t student ex2N=0,temp=0;FILE *fp=NULL;system(color 9f); fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) printf(n 打開文件失敗!n); return; printf(n 歡迎進入按學號排序系統(tǒng)n);while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,&ex2i.num,,&ex2i.math,&ex2i.english,&ex2i.cprogram,&ex2i.circuit,&ex2i.law);i+; n+; fclose(fp
11、); for(i=0;in-1;i+) for(j=i+1;j0) temp=ex2i; ex2i=ex2j; ex2j=temp;fp=fopen(d:按學號排序.txt,w);if(fp=NULL) printf(n 打開文件失?。); return; fprintf(fp,序號 學號 姓名 高數(shù) 英語 編程 電路 法律n); for(i=0;in;i+)fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex2i.num,,ex2i.math,ex2i.english,ex2i.cprogram,ex2i.circui
12、t,ex2i.law);printf(n 文件已保存至D:按學號排序.txtn);fclose(fp);void jisuanPingjun() int i=0,j=0,n=0; char c=0;struct student ex2N=0,temp=0;FILE *fp=NULL;system(color 9f); fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) printf(n 打開文件失敗!n); return; printf(n 歡迎使用按學號排序系統(tǒng)n);while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&
13、i,ex2i.num,,&ex2i.math,&ex2i.english,&ex2i.cprogram,&ex2i.circuit,&ex2i.law);i+; n+; fclose(fp);for(i=0;in;i+)ex2i.pingjun=(ex2i.math+ex2i.english+ex2i.cprogram+ex2i.circuit+ex2i.law)/5; for(i=0;in-1;i+) for(j=i+1;jn;j+)if(ex2i.pingjunex2j.pingjun) temp=ex2i; ex2i=ex2j; ex2j=temp;fp=fopen(d
14、:按平均成績排序.txt,w);if(fp=NULL) printf(n 打開文件失??!n); return; fprintf(fp,序號 學號 姓名 高數(shù) 英語 編程 電路 法律 平均n);for(i=0;in;i+)fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex2i.num,,ex2i.math,ex2i.english,ex2i.cprogram,ex2i.circuit,ex2i.law,ex2i.pingjun);printf(n 文件已保存至D:按平均成績排序.txtn);fclose(fp);
15、void tongjiFenshu()int i=0,j=0,t=0,n=0,e=0,a55=0; char yes_no=0;float list55=0;struct student ex2N=0;FILE *fp=NULL;system(color 9f); fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) printf(n 打開文件失??!n); return; printf(n 歡迎進入分數(shù)段統(tǒng)計系統(tǒng)!);while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex2i.num,,&listi
16、0,&listi1,&listi2,&listi3,&listi4);i+; n+; fclose(fp);for(j=0;j5;j+)a0j=0;for(j=0;j5;j+)for(i=0;i100|listij0)e+;else t=(int)listij/10;switch(t)case 10:aj0+;break;case 9:aj0+;break;case 8:aj1+;break;case 7:aj2+;break;case 6:aj3+;break;default:aj4+;break;printf(nnnn 各門課、個分數(shù)段學生人數(shù));printf(n -);printf(n
17、| 90分以上 | 8089分 | 7079分 | 6069分 | 60分以下 );printf(n -);printf(n 高數(shù) | %3d | %3d | %3d | %3d | %3d ,a00,a01,a02,a03,a04);printf(n -);printf(n 英語 | %3d | %3d | %3d | %3d | %3d ,a10,a11,a12,a13,a14);printf(n -);printf(n 編程 | %3d | %3d | %3d | %3d | %3d ,a20,a21,a22,a23,a24);printf(n -);printf(n 電路 | %3d
18、| %3d | %3d | %3d | %3d ,a30,a31,a32,a33,a34);printf(n -);printf(n 法律 | %3d | %3d | %3d | %3d | %3d ,a40,a41,a42,a43,a44);printf(n -);if(e!=0)printf(n 有%d個錯誤的成績,請檢查。n,e);void studentStatus()int i=1; char choose=0,yes_no=0;struct student ex3N=0;FILE *fp=NULL; fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) prin
19、tf(n 打開文件失??!n); return; system(color 2f);dosystem(cls);printf ( |-|n);printf ( | 請輸入選項編號(0-4) |n);printf ( |-|n);printf ( | 1-生成并打印補考通知單 |n);printf ( | 2-生成并打印退學通知單 |n);printf ( | 3-生成并打印新名冊 |n);printf ( | 4-返回 |n);printf ( | 0-退出系統(tǒng) |n);printf ( |-|n);choose=getche(); while(choose!=0&choose!=1&choos
20、e!=2&choose!=3&choose!=4) printf( %c為非法選項!請重新輸入:,choose);choose=getchar(); switch(choose) case 1:bukao(); break; case 2:tuixue(); break; case 3:xinmingdan(); break; case 4:main(); break; case 0:break; if(choose=0)printf(n);printf(感謝您的使用!n);break; printf(n 要繼續(xù)選擇嗎(Y/N)?n); do yes_no=getche( ); while(y
21、es_no!=Y & yes_no!=y& yes_no!=N & yes_no!=n); while(yes_no=Y | yes_no=y);void bukao()int i=0,j=0,count=0,n=0;char time510=,site515=,sbj510=高數(shù),英語,c語言編程,電路設(shè)計,法律基礎(chǔ); struct student ex3N=0;FILE *fp=NULL;system(color 2f); fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) printf(n 打開文件失敗!n); return; printf(n 歡迎進入生成并打印補
22、考通知單系統(tǒng)!n);while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex3i.num,,&ex3i.score0,&ex3i.score1,&ex3i.score2,&ex3i.score3,&ex3i.score4);i+; n+; fclose(fp);for(i=0;i5;i+)printf(n請輸入%s的補考時間、地點:,sbji);scanf(%s%s,&timei,&sitei);for(i=0;i4;i+)for(j=i+1;j5;j+)while(strcmp(timei,timej)=0&strcm
23、p(sitei,sitej)=0)printf(nn%s科目與%s科目相沖突,請重新輸%s的考試時間、地點:,sbji,sbjj,sbjj);scanf(%s%s,&timej,&sitej);for(i=0;in;i+)for(j=0;j5;j+)if(ex3i.scorej0&count3)printf(nn);printf(n%15s學生%d門課不及格,補考科目、時間、地點:,,count);for(j=0;j5;j+)if(ex3i.scorej60)switch(j)case 0:printf(n高數(shù):%3.1f, 時間%s, 地點%s,ex3i.scorej,ti
24、mej,sitej);break;case 1:printf(n英語:%3.1f, 時間%s, 地點%s,ex3i.scorej,timej,sitej);break;case 2:printf(nc語言編程:%3.1f,時間%s, 地點%s,ex3i.scorej,timej,sitej);break;case 3:printf(n電路設(shè)計:%3.1f, 時間%s, 地點%s,ex3i.scorej,timej,sitej);break;case 4:printf(n法律基礎(chǔ):%3.1f, 時間%s, 地點%s,ex3i.scorej,timej,sitej);break;void tuix
25、ue()int i=0,j=0,count=0,n=0,k=0; struct student ex3N=0;FILE *fp=NULL;system(color 2f); fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) printf(n 打開文件失??!n); return; printf(n 進入生成并打印退學通知單系統(tǒng)!n);while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex3i.num,,&ex3i.score0,&ex3i.score1,&ex3i.score2,&ex3i.sco
26、re3,&ex3i.score4);i+; n+; fclose(fp);for(i=0;in;i+)count=0;for(j=0;j5;j+)if(ex3i.scorej=4)printf(nn%15s同學,您本學期共%d門不及格科目,滿足退學標準。請盡快處理n,,count);for(j=0;j5;j+)if(ex3i.scorej60)switch(j)case 0:printf(高數(shù):%-7.1f,ex3i.scorej);break;case 1:printf(英語:%-7.1f,ex3i.scorej);break;case 2:printf(c語言編程:%-7
27、.1f,ex3i.scorej);break;case 3:printf(電路設(shè)計:%-7.1f,ex3i.scorej);break;case 4:printf(法律基礎(chǔ):%-7.1f,ex3i.scorej);break;printf(n);for(k=i;kn-1;k+)ex3k=ex3k+1;n-;fp=fopen(d:升學名單.txt,w);if(fp=NULL) printf(n 打開文件失??!n); return; for(i=0;in;i+)fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex3i.num,
28、,ex3i.score0,ex3i.score1,ex3i.score2,ex3i.score3,ex3i.score4);fclose(fp);void xinmingdan()int i=0; struct student ex3N=0;FILE *fp=NULL;system(color 2f); fp=fopen(d:升學名單.txt,r);if(fp=NULL) printf(n 打開文件失??!n); return; printf(n 歡迎進入生成并打印新名冊系統(tǒng)!n);printf(n序號 學號 姓名 高數(shù) 英語 編程 電路 法律n);while(feof(fp)=0) fscan
29、f(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex3i.num,,&ex3i.score0,&ex3i.score1,&ex3i.score2,&ex3i.score3,&ex3i.score4);printf(%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex3i.num,,ex3i.score0,ex3i.score1,ex3i.score2,ex3i.score3,ex3i.score4);i+; fclose(fp);void mynew()char choose=0,yes_no=0;dosyste
30、m(color 8f);system(cls);printf(n |*|);printf(n | 歡迎進入創(chuàng)新部分 |);printf(n |*|);printf(n | 1-查找學生 |);printf(n | 2-輸出單科成績 |);printf(n | 3-特殊原因退學 |);printf(n | 0-退出 |);printf(n |-|);printf(n輸入你的選擇:);scanf(%s,&choose);while(choose!=1&choose!=2&choose!=3&choose!=0)printf(n請正確輸入的您選擇:);scanf(%c,&choose);switch
31、(choose)case1:outstudent();break;case2:outdanke();break;case3:teshutuixue();break;case0:break;if(choose=0) break;printf(n 要繼續(xù)選擇嗎(Y/N)?n);doyes_no=getche();while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n);while(yes_no=y|yes_no=Y);void outstudent()int i=0,j=0,count=0,n=0; char ch20=,yes_no=0;struct stud
32、ent ex4N=0;FILE *fp=NULL; fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) printf(n 打開文件失敗!n); return; while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex4i.num,,&ex4i.score0,&ex4i.score1,&ex4i.score2,&ex4i.score3,&ex4i.score4);i+; n+; fclose(fp);dosystem(color 8f);system(cls);printf(n 歡迎進入查詢學生系統(tǒng)!
33、n);printf(n請輸入要查學的學生的姓名:);scanf(%s,&ch);for(i=0;in;i+)if(strcmp(,ch)=0)printf(n 您查詢的是學號為%s的學生,他的成績?nèi)缦?,ex4i.num);printf(n 高數(shù):%-7.1f,英語:%-7.1f,c語言編程:%-7.1f,電路設(shè)計:%-7.1f,法律基礎(chǔ):%-7.1fn,ex4i.score0,ex4i.score1,ex4i.score2,ex4i.score3,ex4i.score4);break;if(i=n)printf(n 查無此人.n);printf(n 要繼續(xù)選擇查詢學生嗎(Y
34、/N)?n);doyes_no=getche();while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n);while(yes_no=y|yes_no=Y);void outdanke()int i=0,j=0,count=0,n=0;char sbj510=math,english,cprogram,circuit,law; char ch20=,yes_no=0;struct student ex4N=0;FILE *fp=NULL; fp=fopen(d:學生基本信息.txt,r);if(fp=NULL) printf(n 打開文件失?。); ret
35、urn; while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex4i.num,,&ex4i.score0,&ex4i.score1,&ex4i.score2,&ex4i.score3,&ex4i.score4);i+; n+; fclose(fp);dosystem(color 8f);system(cls);printf(n 歡迎進入查詢單科成績系統(tǒng)!n);printf(n備選科目名稱:math,english,cprogram,circuit,lawn);printf(n請輸入要查尋的科目名稱:);scanf(%s,&ch);f
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年白糖道路運輸服務(wù)協(xié)議范例版B版
- 2024年社區(qū)便利店商品庫存管理與銷售預測合同3篇
- 2024版服務(wù)器租賃合同下載
- 2024年高速公路拓寬工程征收補償合同
- 2024年生物醫(yī)藥研發(fā)與許可協(xié)議
- 西藏集中式光伏電站(10MW以上)建設(shè)流程
- oqc組長崗位職責(共5篇)
- 2023年第一季度思想?yún)R報
- 老年護理-復習題
- 2025年度建筑工程施工安全管理及文明施工責任書3篇
- 《柴油加氫培訓包》課件-9 柴油加氫設(shè)備-加氫反應器常見的損傷
- 企業(yè)EHS風險管理基礎(chǔ)智慧樹知到期末考試答案2024年
- 老年人肥胖癥的特點與保健方法
- (高清版)DZT 0284-2015 地質(zhì)災害排查規(guī)范
- 駕駛員勞務(wù)派遣車輛管理方案
- 山東省濟南市市中區(qū)2022-2023學年二年級上學期期末數(shù)學試卷
- CSCO胃癌診療指南轉(zhuǎn)移性胃癌更新解讀
- 充電樁建設(shè)項目預算報告
- 《網(wǎng)絡(luò)安全等級保護條例》
- 宜昌市夷陵區(qū)2023-2024學年八年級上學期期末數(shù)學評估卷(含答案)
- 企劃品宣部人員架構(gòu)及職責
評論
0/150
提交評論