C语言课程设计报告学生成绩管理系统

上传人:沈*** 文档编号:99379217 上传时间:2022-05-31 格式:DOC 页数:15 大小:219KB
收藏 版权申诉 举报 下载
C语言课程设计报告学生成绩管理系统_第1页
第1页 / 共15页
C语言课程设计报告学生成绩管理系统_第2页
第2页 / 共15页
C语言课程设计报告学生成绩管理系统_第3页
第3页 / 共15页
资源描述:

《C语言课程设计报告学生成绩管理系统》由会员分享,可在线阅读,更多相关《C语言课程设计报告学生成绩管理系统(15页珍藏版)》请在装配图网上搜索。

1、机电工程学院 中南大学本科生C语言课程设计题 目 学生成绩管理系统一、课程设计题目:学生成绩管理系统给出n个学生的4门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计:按某一科分数或平均分数高低次序,列出名次表,分数相同的为同一名次;按名次打印出每个学生的学号、姓名、总分以及各科成绩,并打印统计表。三、概要设计程序要有的功能:1. 输入学生成绩 2. 保存成绩 3. 学生成绩排序 4. 学生成绩查询 5. 学生成绩清单 6. 退出管理系统程序运行当中,通过选择对应的功能序号来实现所需功能。对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩

2、的数值为负,则程序应输出相应的提示:“数据不存在”。再者就是,当再输入完相应的数据后,程序作出相应的提示,询问用户是否要继续输入。在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。四、设计任务将程序分为六个方面:1. 输入学生成绩 、2. 保存成绩 、3. 学生成绩排序 、4. 学生成绩查询 、5. 学生成绩清单 、6. 退出管理系统。每个人负责两个方面的程序,其中侯蒙召负责1、2两个程序,杨天静负责3、4两个,张振陆负责5、6两个,最后交由组长侯蒙召组合整理,形成现在的总的程序。流程图:开始结束选择操作输入数据排序保存数据查询操作界面退出系统按学号按姓名显示清单吧选择7选择5选择

3、3选择2选择1选择8四门成绩学号姓名四、详细设计源程序:#include#include#include#includestruct Studentchar name20;int no;int math;int program;int english;int chinese;int aver;stu100,t;int num=0;int menu()int a;char s20;system(cls);/*程序介绍*/printf( 欢迎使用学生成绩管理系统,该系统包括以下几项功能,请根据提示做相应操作n);printf( 1-输入学生成绩n);printf( 2-保存成绩n);printf(

4、 3-学生成绩排序n);printf( 4-学生成绩查询n);printf( 5-学生成绩清单n);printf( 6-退出管理系统n);/*选择操作*/printf(n);printf( 请选择要进行操作的编号:n);doprintf(Enter you choice(06):); scanf(%s,s); a=atoi(s); while (a6); return a;int enter()int i=0;printf(请输入学生信息n);printf(NO.:);scanf(%d,&stunum.no);printf(姓名:);scanf(%10s,stunum.name);printf

5、(数学:);scanf(%4d,&stunum.math);printf(程序设计:);scanf(%4d,&stunum.program);printf(英语:);scanf(%4d,&stunum.english);printf(语文:);scanf(%4d,&stunum.chinese);stunum.aver=(stunum.math+stunum.program+stunum.english+stunum.chinese)/4;num=num+1;printf(是否继续输入?(y/n):n);if(getch()=y|getch()=Y)enter();else return(0)

6、;void save()FILE*fp;int i;if(fp=fopen(stu.dat,wb)=NULL)printf(The fire can not openn);return;for(i=0;inum;i+)if(fwrite(&stui,sizeof(struct Student),1,fp)!=1)printf(The wirte errorn);return;printf(数据保存成功n);system(pause);fclose(fp);void sort()int i, j, k;int sort_no;printf(1-按数学成绩排n);printf(2-按程序设计成绩排

7、n);printf(3-按英语成绩排n);printf(4-按语文成绩排n);printf(5-按平均分成绩排n);printf(6-返回主菜单n);scanf(%d,&sort_no);if(sort_no=1)/ 数学成绩排序for(i=0; inum-1; i+)k = i;for(j=i+1; jstuk.math) k=j;t=stuk;stuk=stui;stui=t; printf(学号 姓名 数学 程序 英语 语文 平均分n);for(i=0; inum; i+)printf(%4d %5s %5d, stui.no, stui.name, stui.math);printf(

8、%5d %5d %4d %4dn,stui.english, stui.chinese, stui.program, stui.aver);else if(sort_no = 2)/ 程序设计成绩排序for(i=0; inum-1; i+)k = i;for(j=i+1; jstuk.program) k=j;t=stuk;stuk=stui;stui=t; printf(学号 姓名 数学 程序 英语 语文 平均分n);for(i=0; inum; i+) printf(%4d %5s %5d, stui.no, stui.name, stui.math);printf(%5d %5d %4d

9、 %4dn,stui.english, stui.chinese, stui.program, stui.aver);else if(sort_no = 3)/ 英语成绩排序for(i=0; inum-1; i+)k = i;for(j=i+1; jstuk.english) k=j;t=stuk;stuk=stui;stui=t; printf(学号 姓名 数学 程序 英语 语文 平均分n);for(i=0; inum; i+) printf(%4d %5s %5d, stui.no, stui.name, stui.math);printf(%5d %5d %4d %4dn,stui.en

10、glish, stui.chinese, stui.program, stui.aver);else if(sort_no = 4)/ 语文绩排序for(i=0; inum-1; i+)k = i;for(j=i+1; jstuk.chinese) k=j;t=stuk;stuk=stui;stui=t; printf(学号 姓名 数学 程序 英语 语文 平均分n);for(i=0; inum; i+) printf(%4d %5s %5d, stui.no, stui.name, stui.math);printf(%5d %5d %4d %4dn,stui.english, stui.ch

11、inese, stui.program, stui.aver);else if(sort_no=5) / 平均分排序for(i=0; inum-1; i+)k = i;for(j=i+1; jstuk.aver) k=j;t=stuk;stuk=stui;stui=t; printf(学号 姓名 数学 程序 英语 语文 平均分n);for(i=0; inum; i+)printf(%4d %5s %5d, stui.no, stui.name, stui.math);printf(%5d %5d %4d %4dn,stui.english, stui.chinese, stui.program

12、, stui.aver);else if(sort_no=6) / 返回上层return;elseprintf(错误的排序方式!n);return;void list()int i;printf(学生成绩清单n); printf(学号 姓名 数学 程序 英语 语文 平均分n);for(i=0; i学号查询n);printf( 2-姓名查询n);printf( 3-返回主菜单n);printf( 请选择要进行查询内容的编号:n);scanf( %d, &search_no);if(search_no=1)printf( 请输入要查询的学号n);scanf(%d, &no);for(i=0; in

13、um; i+)if(no=stui.no) printf(学号 姓名 数学 程序 英语 语文 平均分n); printf(%4d %5s %5d, stui.no, stui.name, stui.math); printf(%5d %5d %4d %4dn,stui.english, stui.chinese, stui.program, stui.aver);else printf(数据不存在);return;else if(search_no=2)printf( 请输入要查询的姓名n);scanf(%s, NAME);for(i=0; i输入学生成绩2- 保存成绩3- 学生成绩排序4-

14、学生成绩查询5- 学生成绩清单6- 退出管理系统输入程序对应功能的相应序号,选择相应功能,然后根据提示继续。例如:想要输入学生的相关信息,输入1,然后根据提示输入学生相关信息,再输入2,保存学生信息。2、对应测试结果与分析:程序运行当中,通过选择对应的功能序号来实现所需功能。对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“数据不存在”。当再输入完相应的数据后,程序作出相应的提示,询问用户是否要保存数据。3、每个模块设计和调试时存在问题的思考输入完相应的数据后,程序不会自动作出相应的提示,询问用户是否要保存数据。在排列学生成绩时候,如果出

15、现成绩相同的情况,程序自动作出处理。4、运行界面(截图)(图1)(图2)5、主界面设计如下:欢迎使用学生成绩管理系统,该系统包含以下几种功能,请根据提示做相关操作 1-输入学生成绩2-保存成绩3-学生成绩排序4-学生成绩查询5-学生成绩清单6-退出管理系统请选择要进行的编号:Enter your choice(16): 六、课程设计总结通过此次数据结构课程设计,我初步掌握了程序设计的基本方法,也学会了怎样去借鉴别人的方法和经验,知道如何怎样通过查找资料和整合处理这些资料来解决问题,这为以后的大学毕业设计论文打下了一个初步的基础。同时也享受了一种成功的喜悦,在这为期一周的课程设计当中,我从开始确定论文题目,然后是上网和上图书馆查找资料,编写C+语言原程序,然后是进行编译,这个环节是一个非常需要对问题认真的态度和足够的耐心,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多。另外在调试程序的过程中不断的思考和运用已经学到的知识,这对于自己是有很大的提高的。 由于所学的知识不多,自己的编程经验不足,仍存在一些错误按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改进!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!