C語言課程設計學生成績管理系統_第1頁
C語言課程設計學生成績管理系統_第2頁
C語言課程設計學生成績管理系統_第3頁
C語言課程設計學生成績管理系統_第4頁
C語言課程設計學生成績管理系統_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、*題目七:學生成績管理系統設計學生成績信息包括:學期,學號,班別,姓名,四門課程成績(語文、數學、英語和計算機)等。主要功能:(1)能按學期、按班級完成對學生成績的錄入、修改(2)能按班級統計學生的成績,求學生的總分及平均分(3)能查詢學生成績,不及格科目及學生名單(4)能按班級輸出學生的成績單要求:使用二進制文件方式存儲數據,系統以菜單方式工作源代碼:#include#include #include #include struct Student int cls;char nam10;char num10;int chinese;int english;int computer;int m

2、ath;stud1100,stud2100;int menu()char a;while(a7|a0)system(cls);歡迎使用學生成績管理系統n);制作人:章建n);學生成績管理系統1 .輸入學生成績n);2 .輸出學生成績n);3 .查找并顯示學生成績n);4 .按姓名查找,修改學生資料 n);5 .顯示所有學生名單n);6 .查找并刪除學生信息n);7 .從文件讀取數據n);8 .儲存學生資料并退出系統n);printf( printf( printf(*n);printf( printf( printf( printf( printf( printf( printf(printf

3、(I*n);printf(請選擇(0-7)n);a=getchar();)return(a-0);)/*/int Input(Student stud,int n)輸入數據(第一學期)。int i=0;char sign,x10;for(;sign !=n&sign !=N;)printf(姓名:);scanf(%s,studn+i.nam);printf(班級:);scanf(%d,&studn+i.cls);printf(學號:);scanf(%s,studn+i.num);printf(語文:);scanf(%d,&studn+i.chinese);printf(數學:);scanf(%

4、d,&studn+i.math);printf(英語:);scanf(%d,&studn+i.english);printf(計算機:);scanf(%d,&studn+puter);gets(x);printf(還有要輸入的信息嗎?(y/n);scanf(%c,&sign);i+;)return(n+i);,*/void Display(Student stud, int n) (int i;printf( 班級 學號 姓名 語文 數學 英語 計算機 總分 平均分n);for(i=1;i1 & i%10=0)(system(pause);system(pause);/*查 找學 生

5、 顯示 其 信 息*/*void Query(Student stud,int n)(char nam20;printf(輸入其姓名:n);scanf(%s,nam);int i=0;while(strcmp(studi.nam,nam)!=0&in)i+;if(i=n)(printf(ttt沒有發現該學生的資料!n);/*return; printf(學號%sn,studi.num);printf(班級%dn,studi.cls);printf(%dn,studi.chinese);printf(英語%dn,studi.english);printf(數學%dn,studi.math);pr

6、intf(計算機:dn,puter);*int Delete(Student stud,int n)(char s20;int i=0,j;printf(請輸入要刪除的學生的姓名:n);scanf(%s,s);while(strcmp(studi.nam,s)!=0&in) i+;if(i=n)(printf(ttt沒有發現該學生資料!n);return(n);for(j=i;jn-1;j+)(strcpy(studj.num,studj+1.num);strcpy(studj.nam,studj+1.nam);studj.cls=studj+1.cls;studj.chin

7、ese=studj+1.chinese;studj.math=studj+1.math;studj.english=studj+1.english;puter=studj+1.computer;printf(當前信息已刪除成功!);return(n-1); /* */ int Revise(Student stud,int n)(int i=0;char na10;scanf(%s,na);while(strcmp(studi.nam,na)!=0&in) i+;if(i=n)n);(printf(ttt沒有發現該學生的資料!printf(修改班級:n);scanf(%d,&

8、studi.cls);printf(修改學號:n); scanf(%s,studi.num);printf(修改語文成績:n);scanf(%d,&studi.chinese);printf(修改英語成績:n);scanf(%d,&studi.english);printf(修改數學成績:n); scanf(%d,&studi.math);printf(修改計算機成績:n);scanf(%d,&puter);printf(修改成功 n);return(n);/*顯 示 學 生 名 單*/void show(Student stud,int n) for(int i=0;in;

9、i+) printf(system(pause);%sn,studi.nam);/*從 文 件 讀 取*/*int AddfromText(Student stud, int n)int i=0,number,x=0,y=0;FILE *fp;char filename20;printf(輸入文件名:);scanf(%s,filename);if(fp=fopen(filename,rb)=NULL)printf(無法打開文件);system(pause);return(n);fscanf(fp,%d,&number);for(;inumber;)fscanf(fp,%d%s%s%d%d%d%

10、d%d%dn,&studn+i.cls,&studn+i.num,&studn+i.nam, &studn+i.chinese,&studn+i.math,&studn+i.english,&studn+puter,&x,&y);i+;n+=number;fclose(fp);printf(讀入成功!);system(pause);return(n);/*將所有記錄寫進文件*/*void WritetoText(Student stud,int n) int i=0;FILE *fp;char filename20;printf(將資料輸入文件n);printf(輸入文件名n);sc

11、anf(%s,filename);if(fp=fopen(filename,w+)=NULL) printf(無法打開文件n);system(pause);return;fprintf(fp,%dn,n);for(;in;) fprintf(fp,%-8d%-8s%-8s%-5d%-5d%-5d%-5d%-5d%-5dn,studi.cls,studi.num,studi. nam,studi.chinese,studi.math,studi.english,puter, studi.chinese+studi.math+studi.english+pute

12、r, (studi.chinese+studi.math+studi.english+puter)/4);i+;fclose(fp);/*/*void main()(int n1=0,n2=0;for(;)(switch(menu()(case 1:int t;printf(輸入學生資料n);printf(輸入學期);scanf(%d,&t);if(t=1)(n1=Input(stud1,n1);)else if(t=2)(n2=Input(stud2,n2);)break;case 2:printf(輸出所有學生資料n);if(n1!=0)(printf(第一學期 n);D

13、isplay(stud1,n1);)if(n2!=0)(printf(第二學期 n);Display(stud2,n2);)break;case 3:int r;printf(查找學生 n);printf(請輸入學期n);scanf(%d,&r);if(r=1)Query(stud1,n1);)else if(r=2)(Query(stud2,n2);)system(pause);break;case 4:int p;printf(修改學生資料n);printf(請輸入學期n);scanf(%d,&p);if(p=1)(printf(輸入你要修改的學生的姓名:);n1=Revise(stud1

14、,n1);)else if(p=2)(printf(輸入你要修改的學生的姓名:);n2=Revise(stud2,n2);)system(pause);break;case 5:printf(顯示所有學生名單:n);if(n1!=0)(printf(第一學期 n);show(stud1,n1);)if(n2!=0)(printf(第二學期 n);show(stud2,n2);)system(pause);break;case 6:printf(查找并刪除學生信息n);int o;printf(請輸入學期:);scanf(%d,&o);if(o=1)(printf(第一學期 n);n1=Delete(stud1,n1);)if(o=2)(printf(第二學期 n);n2=Delete(stud2,n2);)system(pause);break;case 7:printf(從文件中讀入數據n);printf(讀取第一學期的文件n);n1=AddfromText(stud1,n1);printf(讀取第二學期的文件n);n2=AddfromText(stud2,n2);break;case 0:printf(將所有資料寫入文件n);if(n1!=0)n);n);(printf(存儲第

溫馨提示

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

評論

0/150

提交評論