好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言大作业学生成绩管理系统.docx

6页
  • 卖家[上传人]:奇异
  • 文档编号:234551793
  • 上传时间:2022-01-04
  • 文档格式:DOCX
  • 文档大小:23.85KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • include #include #include #define NUM 4struct Ihb /定义结构体变量,为Ihb/{int num;char namefl()1;int score[4];float average;}stu[4],s;void saveQ /定义save函数,把录入的学生数据输出到磁盘list文件H4/{FILE *fp;int i;if((fp=fopen(,,list,,;,wb,,))==NULL){printf(f,can not open this file\nu);return;}for(i=0;i<4;i++)if(fwrite(&stu[i],sizeof(struct Ihb), 1 ,fp)!= 1) /用 fwrile 函数将数据送到printf(nfile write errorNn,1); list 文件中/fclose(fp);)void file 1() /建立菜单1,录入4个学生的4科成绩,并算其平均分/{ int i,j; /定义变量/float s=0;printf(MInput the student's number name and 4 score:\nM);prii]tf(Mnum name suorcO score 1 scorc2 scorc3\iiM);for(i=0;i<4;i++)scanf(n%d%s%d%d%d%d,,,&stu[il.num,&stu[i].name,&stu[i].score[()l,&stu[i].scorc[l], &stu[i].score ⑵,&stufi].score[3]);for(i=0;i<4;i++) /用for循环算出每个学生的平均成绩/{for(j=O;j<4;j-H-){s+=stu[i].score[j]; /各科成绩累加后赋给Vstu[i].average=s/4.0;} /计算出平均成绩/s=0;}save(); /调用save函数,保存数据/return;}void file2() /建立菜单2,打印全班学生的数据输出到屏幕上/{FILE *fp; /寻找并调用list文件数据/inti;{ flp=fdpenClist,,;trbH);for(i*0;i<4;i++)fread(&stu[iLsizeof(stmct Ihb), 1 ,fp);fclose(fp);}printf(MAll the students* message:\n,r);score3 average\n ”);printf(Hnum name scoreO score 1 score2for(i=0;i<4;i++) /循环输出所有学生数据/printff'%d %s %d %d %d %d %5.2f\n,,,stu[i].num9stu[i].name9stu[i].score[0]9stu[i].score[l ],stu[il.score[2], stu[i].score[3],stu[il.average); return;}void file3() /建立菜单3,插入一个学生数据/{FILE *fp; /寻找并调用list文件数据/int{ fp=fopenC,listM; rbM); for(i=0;i<4;i++)fread(&stufil,sizeof(struct Ihb), 1 ,fp); fclose(fp);)printffTlcsac input a new students massagc\nn);scanf(M%d%s%d%d%d%dr,,&s.num,&s,name,&s.score[0h&s.score[ll,&s.score[2],&s.score[31);s.average=(s.score[01+s.scorc[ 1 l+s.score[21+s.score[31)/4.0;if((fp=fopen("listM,"r"))=NULL ) /从 list 文件中读数据/{printf(Mcant not open the file.1');exit(O);)printf(" old students' original data:\n"); /读取已经存在的数据/for(i=0;fread(&stu[i],sizeof(struct lhb),Lfp)!=O;i++){printf(M\n%4s%4sM,stu[il.num,stu[i].name);for(j=0;j<4;j++)printf(M%4dH,stu[i].score[j]);prinlf(M%5.2r\stu[i].avcragc);)fclose(fp);n=i; /将i的值赋给变量n/for(t=();stu[t].average>s.averagc&&tj;i-)if(stuU].averagestu[i].score[0]9stu[i].scoie [l],stu[i].score[2],stu[il.score[3],stu[i].average);|return;}void file6() /建立菜单6,输出全班总平均成绩,和全班各科平均成绩/{float v,v1=0,v2=0,v3=0,v4=0; /定义变量,并赋初始值为 0/int i,j,s=O;FILE *fp; /寻找并调用list文件数据/{ fp=fopen(nlisf\HrbM);for(i=0;i<4;i++)fread(&stu[il,sizeof(struct Ihb), 1 ,fp); fclose(fp);}/各科成绩循环后累加后赋给“/将S赋给V//将v的值除于4,在赋给Wfor(i=0;i<4;i++) s4-=stu[i].average; v=s;v=v/4.0;for(i=0;i<4;i++) vl+=stufi].score[01; vl=vl/4.0;for(i=0;i<4;i++) v2+=stu[il.score[l]; v2=v2/4.0;for(i=0;i<4;i++) v3+=stu(il.score[21; v3=v3/4.0;for(i=0;i<4;i++) v4+=stu|i].score[3]; v4=v4/4.0;printff' all students1 average is %5,2f\n",v); /打印出全班平均成绩/printf(naverage scorcfO] is %5.2f\n*\vl); /打印出全班各科平均成绩/printff'average scorcfl] is %5.2f\n*\v2);printf(naverage scorc[2] is %5.2f\nM,v3);printf(Maverage score[3] is %5.2f\n,f,v4);)void file7() /建立菜单7,查找学生成绩情况/{ int i,c,e;char ch[20];FILE *巾; /寻找并调用list文件数据/{fp=fopen(,,list,\HrbH);for(i=0;i<4;i++)fread(

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.