用c語言編寫一個成績管理系統(tǒng)_第1頁
用c語言編寫一個成績管理系統(tǒng)_第2頁
用c語言編寫一個成績管理系統(tǒng)_第3頁
用c語言編寫一個成績管理系統(tǒng)_第4頁
用c語言編寫一個成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、程序說明:有N個學(xué)生,每個學(xué)生的數(shù)據(jù)包含學(xué)號(不重復(fù))、姓名、三門課的成績及平均成績,試設(shè)計一學(xué)生成績管理系統(tǒng),使之能提供以下功能: (1)主菜單 學(xué)生成績管理系統(tǒng) 1、 成績錄入 2、 成績查詢 3、 成績統(tǒng)計 4、 退出 (2)各菜單項功能 成績錄入:輸入學(xué)生的學(xué)號、姓名及三門課的成績; 成績查詢:(至少一種查詢方式)。 v 按學(xué)號查詢學(xué)生記錄。 v 查詢不及格學(xué)生的記錄。 成績統(tǒng)計: v 計算學(xué)生的平均分; v 根據(jù)學(xué)生的平均分高低,對學(xué)生的數(shù)據(jù)進(jìn)行排序后輸出; v 對學(xué)生單科成績排序,輸出學(xué)生姓名與該科成績; 退出系統(tǒng):退出整個系統(tǒng)(即主菜單)。 (3)結(jié)構(gòu)體數(shù)組: define N

2、30 struct student int num; /* 定義學(xué)號*/char name20; /* 定義姓名*/float score3; /* 定義存貯三門課成績的數(shù)組*/float average; /* 定義平均成績*/;struct student stuN; /* 定義結(jié)構(gòu)體數(shù)組,存貯多個學(xué)生的記錄*/. #include<stdio.h> #include<stdlib.h> #include<string.h> struct student int num; char name20; float score4; float average;

3、 stu10000; long t,max; bool unpass1000; FILE *fstu=fopen("stud.dat","at+"); int init() int no,i; float s4,ave; char nam20; while (!feof(fstu) fscanf(fstu,"%d",&no); fscanf(fstu,"%s",nam); fscanf(fstu,"%f%f%f%f",&s1,&s2,&s3,&ave);

4、if (no>max) max=no; stuno.num=no; strcpy(,nam); unpassno=false; for (i=1;i<=3;i+) stuno.scorei=si; if (si<60) unpassno=true; stuno.average=ave; int stuinsert() int no,i; float s3,sum; char nam20,cha; loop:printf("請輸入學(xué)生的學(xué)號、姓名及三門課的成績 n"); scanf("%d",&no); sca

5、nf("%s",nam); scanf("%f%f%f/n",&s1,&s2,&s3); if (no>max) max=no; stuno.num=no; sum=0.0; strcpy(,nam); unpassno=false; for (i=1;i<=3;i+) stuno.scorei=si; sum=sum+si; if (si<60) unpassno=true; stuno.average=sum/3.0; fprintf(fstu,"n"); fprint

6、f(fstu,"%d %s %f %f %f %fn",stuno.num,,stuno.score1,stuno.score2,stuno.score3,stuno.average); int find(int x) long i,no; switch (x) case 1:printf("請輸入學(xué)號:"); scanf("%d",&no); printf("%d %s %f %f %f %fn",stuno.num,,stuno.score1, stuno.sco

7、re2,stuno.score3,stuno.average); break; case 2:for (i=1;i<=max;i+) if (unpassi) printf("%d %s %f %f %f %fn",stui.num,,stui.score1,stui.score2,stui.score3,stui.average); break; int sort(int x) extern int headprint(int x); student so1000; int i,j,k,n; switch (x) case 1:for (i=1;i

8、<=max;i+) if (stui.num=i) printf("%d %s %fn",i,,stui.average); break; case 2:n=0; for (i=1;i<=max;i+) j=1; if (stui.num=i) while (soj.average>stui.average)&&(j<=n) j+; n+; for (k=n;k>=j;k-) sok=sok-1; soj=stui; for (i=1;i<=n;i+) printf("%d %s %f %f %

9、f %fn",soi.num,,soi.score1,soi.score2,soi.score3,soi.average); break; case 3:headprint(4); int othersort(int x) extern int headprint(int x); student so1000; int i,j,k,n,q; q=0; switch (x) case 1:if (q=0) q=1; case 2:if (q=0) q=2; case 3:if (q=0) q=3; n=0;for (i=1;i<=max;i+) j=1; if (

10、stui.num=i) while (soj.scoreq>stui.scoreq)&&(j<=n) j+; n+; for (k=n;k>=j;k-) sok=sok-1; soj=stui; for (i=1;i<=n;i+) printf("%d %s %fn",soi.num,,soi.scoreq); break; int select(int x) extern int headprint(int x); int p; switch (x) case 1:scanf("%d",&

11、p); switch (p) case 1:stuinsert();break; case 2:headprint(2);break; case 3:headprint(3);break; case 4:t=0;break; break; case 2:scanf("%d",&p); find(p);break; case 3:scanf("%d",&p); sort(p);break; case 4:scanf("%d",&p); othersort(p);break; int headprint(int x

12、) switch (x) case 1:printf("學(xué)生成績管理系統(tǒng)n"); printf("1、 成績錄入n"); printf("2、 成績查詢n"); printf("3、 成績統(tǒng)計n"); printf("4、 退出n"); select(x); break; case 2:printf("1、 按學(xué)號查詢學(xué)生記錄n"); printf("2、 查詢不及格學(xué)生的記錄n"); select(x); break; case 3:printf("1、 計算學(xué)生的平均分n"); printf("2、 根據(jù)學(xué)生的平均分高低,對學(xué)生的數(shù)據(jù)進(jìn)行排序后輸出n"); printf("3、 對學(xué)生單科成績排序,輸出學(xué)生姓名與該科成績n"); select

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論