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

付費下載

下載本文檔

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

文檔簡介

用c語言編寫學生成績管理系統(tǒng)用c語言編寫學生成績管理系統(tǒng)用c語言編寫學生成績管理系統(tǒng)xxx公司用c語言編寫學生成績管理系統(tǒng)文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設計,管理制度#include<>#include<>#include<>#include<>#defineN30#defineM3typedefstructstudent{ charnumber[10]; charname[20]; floatscore[M]; floataver; floattotal;}STU;STUstu[N];intn;voidinputscore(void);voidsavescore(void);voidavergescore(void);voidtotal(void);voidmodifyscore(void);voidlookscore(void);voidsearchscore(void);voidstatistic(void);voidadd(void);voidmodify(void);voiddelscore(void);voidmenu(void);voidmain(){ shortintflag=0; menu(); do { flag=1; switch(getch()) { case'1':inputscore();break;/*輸入成績*/ case'2':lookscore();break; /*查看成績*/ case'3':searchscore();break; /*查找成績*/ case'4':statistic();break; /*成績統(tǒng)計*/ case'5':modify();break; /*修改成績*/ case'6':add();break; /*添加成績*/ case'7':delscore();break; /*刪除成績*/ case'8':savescore();break; /*保存成績*/ case'9':exit(0); break; /*退出程序*/ default:printf("輸入有誤\n"); } printf("按任意鍵繼續(xù)\n"); getch(); menu(); }while(flag==1);} voidmenu(void){ system("cls");umber); printf("姓名:\n"); scanf("%s",stu[i].name); printf("請輸入學生成績:\n"); printf("出勤分\t值班分\t貢獻分\n"); for(j=0;j<M;j++) scanf("%f",&stu[i].score[j]); } printf("成功輸入(按任意鍵繼續(xù)后請輸入8進行保存)\n");}/*****************計算各個同學的總分*****************************/voidtotal(void){ inti,j; for(i=0;i<n;i++) { stu[i].total=0; for(j=0;j<M;j++) { stu[i].total+=stu[i].score[j]; } }}/*****************計算各個同學的平均分*****************************/voidavergescore(void){ inti,j; for(i=0;i<n;i++) { stu[i].aver=0; for(j=0;j<M;j++) { stu[i].aver+=stu[i].score[j]; } stu[i].aver=stu[i].aver/M; }}/************查看學生成績及根據平均分對學生進行排序*********************/voidlookscore(void){ inti,j,k; STUt; total(); avergescore(); system("cls"); printf("已經轉到查看成績及成績排序菜單\n"); for(i=0;i<n-1;i++) { for(k=i,j=i+1;j<n;j++) if(stu[j].aver>stu[k].aver) k=j; if(k!=j) { t=stu[k]; stu[k]=stu[i]; stu[i]=t; } } printf("名次\t學號\t\t姓名\t\t出勤分\t值班分\t貢獻分\t總分\t平均分\n"); for(i=0;i<n;i++) { printf("%d\t%s\t%s\t",i+1,stu[i].number,stu[i].name); for(j=0;j<M;j++) printf("%\t",stu[i].score[j]); printf("%\t",stu[i].total); printf("%",stu[i].aver); printf("\n"); }}/*****************通過輸入學號查找學生成績***************************/voidsearchscore(void){ chara[10]; inti,j; system("cls");printf("已經轉到查詢學生成績菜單\n"); printf("請輸入需查詢的學生學號\n"); scanf("%s",a); for(i=0;i<n;i++) { if(strcmp(a,stu[i].number)==0) { printf("名次\t學號\t\t姓名\t\t出勤分\t值班分\t貢獻分\t總分\t平均分\n"); printf("%d\t%s\t%s\t",i+1,stu[i].number,stu[i].name); for(j=0;j<M;j++) printf("%\t",stu[i].score[j]); printf("%\t",stu[i].total); printf("%",stu[i].aver); printf("\n"); break; /*找到該學生成績信息后跳出for循環(huán)*/ } else printf("未找到該學生信息\n"); }}/*******統(tǒng)計學生成績信息,平均分及格率,優(yōu)秀率****************/voidstatistic(void){ STU*p=stu; inti; floatcount=,sum=; system("cls");printf("已經轉到成績統(tǒng)計菜單\n"); for(i=0;i<n;i++) { sum+=(p+i)->aver;} printf("該學生會平均分為%\n",sum/n); /*平均分計算*/ for(i=0;i<n;i++) { if((p+i)->aver>=60) count++; } printf("該學生會及格率為%%%\n",count/n*100); /*及格率計算*/ count=; for(i=0;i<n;i++) { if((p+i)->aver>=90) count++; } printf("該學生會優(yōu)秀率為%%%\n",count/n*100); /*優(yōu)秀率計算*/ printf("平均分低于60的學生會成員名單\n"); for(i=0;i<n;i++) { if(stu[i].aver<60) printf("%s\n",stu[i].name); } /*統(tǒng)計不及格學生名單*/}/***************修改學生成績*****************/voidmodify(void){ chara[10]; inti,j; system("cls");printf("已經轉到修改成績菜單\n"); printf("請輸入需要修改成績的學生學號\n"); scanf("%s",a); for(i=0;i<n;i++) { if(strcmp(a,stu[i].number)==0) { printf("名次\t學號\t\t姓名\t\t出勤分\t值班分\t貢獻分\t總分\t平均分\n"); printf("%d\t%s\t%s\t",i+1,stu[i].number,stu[i].name); for(j=0;j<M;j++) printf("%\t",stu[i].score[j]); printf("%",stu[i].total); printf("%",stu[i].aver); printf("\n"); printf("請重新輸入該學生的學號:\n"); scanf("%%s",stu[i].number); printf("姓名:\n"); scanf("%s",stu[i].name); printf("請重新輸入學生成績:\n"); printf("出勤分\t值班分\t貢獻分\n"); for(j=0;j<M;j++) scanf("%f",&stu[i].score[j]);/*找到該學生成績后進行修改,跳出for循環(huán)*/ printf("修改成功\n"); break; } else printf("請確認該學生是否為學生會學生!\n"); } }/*****************添加學生成績********************/voidadd(void){ inta,i,j; system("cls"); printf("已經轉到添加成績菜單\n"); printf("請輸入新增加的學生人數(shù):\n"); scanf("%d",&a); n=n+a; for(i=n-a;i<n;i++) { printf("\n"); printf("請輸入第%d位學生的學號:\n",i+1); scanf("%s",stu[i].number); printf("姓名:\n"); scanf("%s",stu[i].name); printf("請輸入學生成績:\n"); printf("出勤分\t值班分\t貢獻分\n"); for(j=0;j<M;j++) scanf("%f",&stu[i].score[j]); printf("添加成功\n"); }}/*******************刪除學生成績*************************/voiddelscore(void){ inti,j,c; charm,a[10]; system("cls");printf("已經轉到刪除成績菜單\n"); printf("請輸入學生學號\n"); scanf("%s",a); for(i=0;i<n;i++) { if(strcmp(a,stu[i].number)==0) { printf("名次\t學號\t\t姓名\t\t出勤分\t值班分\t貢獻分\t總分\t平均分\n"); printf("%d\t%s\t%s\t",i+1,stu[i].number,stu[i].name); for(j=0;j<M;j++) printf("%\t",stu[i].score[j]); printf("%\t",stu[i].total); printf("%",stu[i].aver); printf("\n"); c=i; break; } else printf("未找到該學生信息\n"); } printf("是否刪除該學生成績(y/n)\n"); scanf("%s",&m); if(m=='y') { for(i=c;i<n-1;i++) stu[i]=stu[i+1]; /*結構體整體賦值將后一位學生成績信息拷貝進入前一位學生信息的存儲位置*/ n=n-1; /*刪除該學生信息后學生總數(shù)減一*/ printf("刪除成績成功\n"); } else printf("刪除成績失敗\n");}/******************保存學生成績************************/voidsavescore(void){ FILE*fp; inti,flag=1; charm; system("cls"); printf("已經轉到保存成績菜

溫馨提示

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

評論

0/150

提交評論