ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:16.61KB ,
资源ID:7069971      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7069971.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言实验报告之成绩管理.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言实验报告之成绩管理.docx

1、C语言实验报告之成绩管理实验报告成绩管理一、实验内容:实验名称:成绩管理实验目的:设计一个学生成绩管理程序,有插入、删除、显示和统计等功能。实验要求:(1) 设计友好的中文交互界面。(2) 输入一个班的学生多门成绩,存储在文件中。(3) 添加或删除一个学生的成绩。(4) 统计学生的最高成绩,最低成绩,平均分和其它统计信息,并将统计结果写入文件。二、算法说明: S1:宏定义参数N的大小取决于想要储存资料的学生人数,可由编程者修改,此次程序暂定为50.S2:定义一个包含学号、姓名、3门成绩和平均成绩的结构体S3:定义主菜单函数S4:定义实现显示学生信息功能的子函数S5:定义实现冒泡排序功能的子函数

2、S6:定义实现插入学生功能的子函数S7:定义实现删除学生功能的子函数S8:定义实现按学号查询功能的子函数S9:开始主函数,设计一个友好的中文界面S10:调用各个先前定义的子函数来实现各功能三、程序清单;#include#include#include#define N 50struct studentint num; /学号char name15; /姓名double score3; /3门成绩double ave; /平均成绩;void menu(); /显示主菜单struct student input(); /输入函数void display(struct student s,int t

3、otal); /显示学生信息void sort(struct student s,int total); /冒泡排序void insert(struct student s,int total); /插入学生(自动排序)int del(struct student s,int total); /删除学生void searchNum(struct student s,int total); /按学号查询void main()struct student stuN;char ch;int total=0,select; /total为学生总数,select为选择dosystem(cls);menu

4、();printf(请输入你的选择: );fflush(stdin);scanf(%d,&select);system(cls);switch(select)case 1:dosystem(cls);stutotal=input();total+; /人数+1printf(是否继续(Y/N): );fflush(stdin);ch=getchar();while(ch=Y|ch=y);printf(n);break;case 2:display(stu,total); /显示printf(n);break;case 3:sort(stu,total); /排序display(stu,total

5、); /显示break;case 4:searchNum(stu,total);break;case 5:dosystem(cls);display(stu,total); /显示insert(stu,total); /插入total+; /人数+1system(cls);display(stu,total); /显示printf(是否继续插入学员(Y/N): );fflush(stdin);ch=getchar();printf(n);while(ch=Y|ch=y);break;case 6:dosystem(cls);display(stu,total); /显示if(del(stu,t

6、otal) /删除total-; /人数-1system(cls);display(stu,total); /显示elseprintf(该学号不存在n);system(pause);system(cls);display(stu,total);printf(是否继续删除学员(Y/N): );fflush(stdin);ch=getchar();printf(n);while(ch=Y|ch=y);break;case 7:printf(此操作将删除所有记录,是否继续(Y/N):);fflush(stdin);ch=getchar();if(ch=Y|ch=y)total=0;break;def

7、ault:printf(真的要退出吗(Y/N): );fflush(stdin);ch=getchar();printf(nntt);if(ch=y|ch=Y)exit(0);break;system(pause);while(1);struct student input() /输入函数int i;double sum=0;struct student temp;printf(n请输入学号: );scanf(%d,&temp.num);printf(n请输入姓名: );fflush(stdin);gets(temp.name);printf(n请输入数学成绩: );scanf(%lf,&te

8、mp.score0);printf(n请输入语文成绩: );scanf(%lf,&temp.score1);printf(n请输入英语成绩: );scanf(%lf,&temp.score2);for(i=0;i3;i+)sum+=temp.scorei;temp.ave=sum/3;return temp;void display(struct student s,int total) /输出函数int i;printf( 学号 姓名 语文 数学 英语 平均nn);for(i=0;itotal;i+)printf( %d %s %.2f %.2f %.2f %.2f n,si.num,si.

9、name,si.score0,si.score1,si.score2,si.ave);void sort(struct student s,int total) /排序int i,j;struct student temp;for(i=0;itotal-1;i+)for(j=0;jtotal-1-i;j+)if(sj.avesj+1.ave)temp=sj;sj=sj+1;sj+1=temp;void insert(struct student s,int total) /插入struct student temp;int i,k;temp=input();for(i=0;isi.ave)br

10、eak;k=i;for(i=total;ik;i-)si=si-1;sk=temp;int del(struct student s,int total) /删除int temp,i,j;printf(请输入要删除的学号: );scanf(%d,&temp);for(i=0;itotal;i+)if(temp=si.num)break;if(itotal)for(j=i;jtotal;j+)sj=sj+1;return 1;elsereturn 0;void menu()printf( 学生管理系统n);printf( 1.输入学生信息n);printf( 2.显示学生信息n);printf(

11、 3.排序学生信息n);printf( 4.查询学生信息n);printf( 5.插入学生信息n);printf( 6.删除学生信息n);printf( 7.清除记录n);printf( 8.退出n);void searchNum(struct student s,int total) /查询int num,i;printf(请输入要查询的学号:n);scanf(%d,&num);printf(n);for(i=0;itotal;i+)if(num=si.num)break;if(itotal)printf( 学号 姓名 语文 数学 英语 平均nn);printf( %d %s %.2f %.

12、2f %.2f %.2fnn,si.num,si.name,si.score0,si.score1,si.score2,si.ave);elseprintf(t该学号不存在n);四、运行结果:原始界面: 学生管理系统1.输入学生信息2.显示学生信息3排序学生信息4.查询学生信息5.插入学生信息6.删除学生信息7.清除记录8.退出请输入你的选择:输入:1回车,输出 请输入学号: 请输入姓名: 请输入数学成绩: 请输入语文成绩: 请输入英语成绩: 是否继续(Y/N): 若输入Y,则进行下一个学生的记录,输入N,按任意键返回主菜单2回车,输出 学号 姓名 语文 数学 英语 平均 (下面分别是输入的学

13、生的学生信息的显示) 按任意键返回主菜单3回车,输出 学号 姓名 语文 数学 英语 平均 (下面分别是输入的学生的学生信息的排序) 按任意键返回主菜单4回车,输出 请输入要查询的学号: 输入正确学号显示该学生信息,若输入的学号不在第一步输入的学生信息中,则显示“该学号不存在” 按任意键返回主菜单5回车,输出 学号 姓名 语文 数学 英语 平均 请输入学号: 请输入姓名: 请输入数学成绩: 请输入语文成绩: 请输入英语成绩: 学号 姓名 语文 数学 英语 平均 (下面是插入的学生的学生信息的显示) 是否继续插入学员(Y/N): 若输入Y,则进行下一个学生信息的插入,输入N,按任意键返回主菜单6回

14、车,输出 学号 姓名 语文 数学 英语 平均 (下面是所有输入的学生的学生信息的显示) 请输入要删除的学号: 学号 姓名 语文 数学 英语 平均 (输入要删除的学号后,该学号的学生信息将不在此列表显示) 是否继续删除学员(Y/N): 若输入Y,则进行下一个学生信息的删除,输入N,按任意键返回主菜单7回车,输出 此操作将删除所有记录,是否继续(Y/N): 若输入Y,则删除所有学生信息的记录,并按任意键返回主菜单,输入N,按任意键返回主菜单8回车,输出 真的要退出吗(Y/N): 若输入Y,按任意键退出主菜单,输入N,按任意键返回主菜单五、分析与思考:这个程序的设计参考了大量的网上资料并结合自己所学的知识修改完善,多次调试后基本上完成了题目所要求的功能,因自己有关文件方面知识的不足,故学生信息的储存选择为逐项输入。希望下次可以在这方面得到提高。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1