用c语言编写一个成绩管理系统.doc

用c语言编写一个成绩管理系统.doc

ID:58001381

大小:46.00 KB

页数:6页

时间:2020-04-06

用c语言编写一个成绩管理系统.doc_第1页
用c语言编写一个成绩管理系统.doc_第2页
用c语言编写一个成绩管理系统.doc_第3页
用c语言编写一个成绩管理系统.doc_第4页
用c语言编写一个成绩管理系统.doc_第5页
资源描述:

《用c语言编写一个成绩管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:(1)主菜单学生成绩管理系统1、成绩录入2、成绩查询3、成绩统计 4、退  出(2)各菜单项功能①成绩录入:输入学生的学号、姓名及三门课的成绩;②成绩查询:(至少一种查询方式)。v按学号查询学生记录。v查询不及格学生的记录。③成绩统计:v计算学生的平均分;v根据学生的平均分高低,对学生的数据进行排序后输出;v对学生单科成绩排序,输出学生姓名与该科成绩;④退出系统:退出整

2、个系统(即主菜单)。(3)结构体数组:#defineN30structstudent{intnum;/*定义学号*/charname[20];/*定义姓名*/floatscore[3];/*定义存贮三门课成绩的数组*/floataverage;/*定义平均成绩*/};structstudentstu[N]; /*定义结构体数组,存贮多个学生的记录*/.#include#include#includestructstudent{intnum;c

3、harname[20];floatscore[4];floataverage;}stu[10000];longt,max;boolunpass[1000];FILE*fstu=fopen("stud.dat","at+");intinit(){intno,i;floats[4],ave;charnam[20];while(!feof(fstu)){fscanf(fstu,"%d",&no);fscanf(fstu,"%s",nam);fscanf(fstu,"%f%f%f%f",&s[1],&s[2

4、],&s[3],&ave);6if(no>max)max=no;stu[no].num=no;strcpy(stu[no].name,nam);unpass[no]=false;for(i=1;i<=3;i++){stu[no].score[i]=s[i];if(s[i]<60)unpass[no]=true;}stu[no].average=ave;}}intstuinsert(){intno,i;floats[3],sum;charnam[20],cha;loop:printf("请输入学生的学

5、号、姓名及三门课的成绩");scanf("%d",&no);scanf("%s",nam);scanf("%f%f%f/n",&s[1],&s[2],&s[3]);if(no>max)max=no;stu[no].num=no;sum=0.0;strcpy(stu[no].name,nam);unpass[no]=false;for(i=1;i<=3;i++){stu[no].score[i]=s[i];sum=sum+s[i];if(s[i]<60)unpass[no]=true;}stu[n

6、o].average=sum/3.0;fprintf(fstu,"");6fprintf(fstu,"%d%s%f%f%f%f",stu[no].num,stu[no].name,stu[no].score[1],stu[no].score[2],stu[no].score[3],stu[no].average);}intfind(intx){longi,no;switch(x){case1:printf("请输入学号:");scanf("%d",&no);printf("%d%s%f%f%

7、f%f",stu[no].num,stu[no].name,stu[no].score[1],stu[no].score[2],stu[no].score[3],stu[no].average);break;case2:for(i=1;i<=max;i++)if(unpass[i])printf("%d%s%f%f%f%f",stu[i].num,stu[i].name,stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].averag

8、e);break;}}intsort(intx){externintheadprint(intx);studentso[1000];inti,j,k,n;switch(x){case1:for(i=1;i<=max;i++)if(stu[i].num==i)printf("%d%s%f",i,stu[i].name,stu[i].average);break;case2:n=0;for(i=1;i<=max;i++){j=1;if(stu[i].num==i)wh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。