首页 >> 动态 >

成绩管理系统的数据操作(成绩管理系统)

2022-12-15 04:31:58 来源: 用户:谢洁才 

大家好,小陆来为大家解答以上的问题。成绩管理系统的数据操作,成绩管理系统这个很多人还不知道,现在让我们一起来看看吧!

1、你把有的课程名字改一下,或者添加一些东西,在结构体定义那里#include#include#includestructstu{intnum;intwuli;inthuaxue;intmath;};FILE*fp;//添加学生信息,可以排除与已存的冲突;voidadd(){inta,b,c,d,n=0;structstustudent;fp=fopen("score.txt","r+");printf("请输入要添加学生的学号、物理成绩、化学成绩及数学成绩");scanf("%d%d%d%d",&student.num,&student.wuli,&student.huaxue,&student.math);while(!feof(fp)){fscanf(fp,"%d%d%d%d",&a,&b,&c,&d);if(student.num==a){printf("该学生信息已存在。

2、不需要添加");fclose(fp);n=1;break;}}if(n==0){printf("信息库中没有该学生信息,可以添加");fseek(fp,0,2);//文件末尾添加;fprintf(fp,"%d%d%d%d",student.num,student.wuli,student.huaxue,student.math);fclose(fp);}}//修改学生信息;voidmodify(){intn=0,number,a,b,c,d,offset;structstustudent;fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空");exit(0);}printf("请输入要修改学生的学号");scanf("%d",&number);while(!feof(fp)){offset=ftell(fp);fscanf(fp,"%d%d%d%d",&a,&b,&c,&d);if(number==a){printf("该学生信息为:");printf("%d%d%d%d",a,b,c,d);printf("请输入要修改的信息");scanf("%d%d%d%d",&student.num,&student.wuli,&student.huaxue,&student.math);fseek(fp,offset,0);fprintf(fp,"%d%d%d%d",student.num,student.wuli,student.huaxue,student.math);n=1;break;}}if(n==0){printf("该学生信息不存在");}fclose(fp);}//删除学生信息;voiddel(){intn=0,number,a,b,c,d,m,offset;fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空");exit(0);}printf("请输入删除学生的学号");scanf("%d",&number);while(!feof(fp)){offset=ftell(fp);fscanf(fp,"%d%d%d%d",&a,&b,&c,&d);if(number==a){printf("该学生信息为:");printf("%d%d%d%d",a,b,c,d);printf("是否要删除该学生信息,是:1;否:0");scanf("%d",&m);if(m){fseek(fp,offset,0);fprintf(fp,"%s%s%s%s","","","","");printf("");printf("该学生信息已删除");}elseprintf("您已放弃删除该学生信息");n=1;break;}}if(n==0){printf("该学生信息不存在");}fclose(fp);}//查找学生信息;voidsearch(){intn=0,number,a,b,c,d,m;chars[10];fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空");exit(0);}printf("请选择查找方式:1--按学号查找;0--按学科查找");scanf("%d",&m);if(m){printf("请输入要查找学生的学号");scanf("%d",&number);while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1){if(number==a){printf("已找到。

3、该学生信息为:");printf("%s%s%s%s","学号","物理成绩","化学成绩","数学成绩");printf("%d%d%d%d",a,b,c,d);n=1;break;}}if(n==0){printf("该学生信息不存在");}fclose(fp);}else{printf("请输入要查找的学科");scanf("%s",s);if(strcmp(s,"wuli")==0){printf("学号物理成绩");while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1)printf("%d%d",a,b);fclose(fp);}if(strcmp(s,"huaxue")==0){printf("学号化学成绩");while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1)printf("%d%d",a,c);fclose(fp);}if(strcmp(s,"math")==0){printf("学号数学成绩");while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1)printf("%d%d",a,d);fclose(fp);}if(strcmp(s,"wuli")&&strcmp(s,"huaxue")&&strcmp(s,"math")){printf("错误,要查找的学科不存在");fclose(fp);}}}//统计学生信息;voidtongji(){intn=0,a,b,c,d,m,k,x[100],i,j,l=1;floatsum=0,h[100],k1;fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空");exit(0);}printf("0--统计单科平均成绩");printf("1--统计单个学生的平均成绩和总成绩,对学生排名");printf("请选择统计类型");scanf("%d",&m);if(!m){printf("1--统计物理的平均成绩");printf("2--统计化学的平均成绩");printf("3--统计数学的平均成绩");printf("请选择要统计的学科");scanf("%d",&m);if(m==1){while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1){sum=sum+b;n++;}printf("物理的平均成绩为%2.2f",sum/n);fclose(fp);}if(m==2){while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1){sum=sum+c;n++;}printf("化学的平均成绩为%.2f",sum/n);fclose(fp);}if(m==3){while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1){sum=sum+d;n++;}printf("数学的平均成绩为%.2f",sum/n);fclose(fp);}}else{while(fscanf(fp,"%d%d%d%d",&a,&b,&c,&d)!=-1){h[n]=(float)(b+c+d);x[n]=a;n++;}for(i=0;l==1&&ih[j+1]){k1=h[j];h[j]=h[j+1];h[j+1]=k1;k=x[j];x[j]=x[j+1];x[j+1]=k;l=1;}}}printf("排序后");printf("学号总成绩平均成绩");for(i=0;i=0&&m<=5){switch(m){case1:add();break;case2:modify();break;case3:del();break;case4:search();break;case5:tongji();break;case0:exit(0);}printf("操作完毕,请再次选择!");}elseprintf("选择错误。

4、请再次选择!");}}这个我可以帮你写,C语言实现。

本文到此分享完毕,希望对大家有所帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章