C语言学生成绩管理系统增加查询修改排序统计文件.docx
《C语言学生成绩管理系统增加查询修改排序统计文件.docx》由会员分享,可在线阅读,更多相关《C语言学生成绩管理系统增加查询修改排序统计文件.docx(55页珍藏版)》请在咨信网上搜索。
1、C语言学生成绩管理系统增加查询修改排序统计文件492020年4月19日文档仅供参考 课程设计(论文)说明书题 目: 学生成绩管理系统 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: SUSHENGMIAN 学 号: 指导教师: 彭明 职 称: 教授 _ 12月 8日摘 要 学生成绩是高校人才培养计划的重要组成部分,是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。当前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,当前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼
2、容性好的系统是很有必要的。我们有必要开发学生成绩管理系统来对学生成绩档案进行数字化管理。既可减轻学院教职员工工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,又可加快成绩查询速度、加强成绩管理,使各项管理更加规范化。 本系统主要完成对学生成绩的管理,包括添加、修改、删除,查询,统计信息以用户管理等六个方面。系统能够完成对各类信息的浏览、查询、添加、删除、修改等功能关键词:c语言;学生成绩管理系统;增加;查询;修改;排序;统计;文件AbstractStudent grades is an important part of talent cultivation of college。S
3、tudent Files must remain within the Student Services (or similar purpose area) at all times and should not be removed from these areas unless required for specific purposes such as to deal with other cases such as legal, disciplinary, grievances etc, however once those cases have been dealt with the
4、 files must be returned, unaltered to the respective Student Service area. This system is a student curriculum and the result management systemmanagement system, it is in a universities educational administrationmanagement system management system sub- system. The main user is the student, the teach
5、er and the manager. The system facilitated the student to choose the class and to look up the minute. Has facilitatedteachers teaching management and the student result input. The systemhas more more importantly facilitated the school educationa administration managementKeyword:C Languag;Student Sco
6、re Management System;aggrandize; inquire; amend; sort; statistics; document目 录1.课设目的12.课程论文题目13.程序设计思路1 3.1需求分析1 3.2主函数分析2 3.3功能模块设计23.3.1菜单模块23.3.2增加模块23.3.3查询模块23.3.4修改模块23.3.5排序模块33.3.6统计模块34.功能模块流程图44.1增加模块流程图44.2查询模块流程图54.3修改模块流程图54.4排序模块流程图64.5统计模块流程图65.数据结构设计66.算法设计77.程序运行结果87.1菜单模块运行结果87.2增加
7、模块运行结果87.3查询模块运行结果87.4修改模块运行结果97.5排序模块运行结果97.6统计模块运行结果107.7打开文件模块运行结果107.8保存模块运行结果108.编程中遇到的困难与解决方法109.实验总结10致谢11参考文献12附录131.课设目的经过本课程设计巩固C语言程序设计课程教学成果,深入理解结构体、指针、链表、动态分配内存和文件操作等C程序设计中的中高级技术,熟练掌握C语言的调试方法,初步培养良好的编程习惯和编程风格,初步学习程序文档的撰写方法。2.程序论文题目创立一个学生管理系统。学生包含以下信息项:学号,姓名,性别,语文成绩,数学成绩,英语成绩,物理成绩,化学成绩,总分
8、、平均分。系统的主要功能包括:(1). 创立学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。(2). 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。(3). 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。(4). 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修
9、改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。(5). 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。a按学号查询,输入一个学号,输出对应的学生信息。b按姓名查询,包括精确查询(输入全名),模糊查询(输入姓)。c按学院查询,输入学院名称,输出该学院的全部学生的信息。(6).按不同条件对学生成绩进行统计工作。a.按总分对学生信息进行排序(由高到低),输出排序后的信息,并将排序后的学生信息存放到一个新的二进制文件中。b.分别找出3门课程成绩最高和最低的的学生,并输出她们的信息。3程序设计思路 3.1需求分析可将系统的设计分为:菜单模块,增加信息模块,修改信息模块,排序
10、模块,统计模块,保存文件模块,打开文件模块,显示模块。a.菜单模块为用户的选择进行提示。b.增加信息模块用于增加学生的学号,姓名,语文成绩,数学成绩,语成绩,物理成绩,化学成绩,总成绩,平均分。c.修改信息模块用于对学生的学号,姓名,语文成绩,数学成绩,英语成绩,物理成绩,化学成绩,总成绩,平均分等各种信息进行修改。d.排序模块用于对学生的学号,姓名,总分进行排序,每种排序方法对于有升序排序和降序排序两种排列方式e.统计模块用于对学生的各科成绩进行一个汇总分析。可统计出每一科的最高分,最低分以及平均分。3.2.主函数设计主函数提供输入,处理,输出部分的函数的调用,其中各个功能模块用菜单方式选择
11、,即在主函数里显示一系列功能选择,判断后,是否调用某个功能用了switch()选择功能3.3.各功能模块设计 3.3.1.菜单模块:定义了字符变量c,用户根据相应的提示进行选择,最后将字符变量返回main()函数,根据c的不同值,调用不同的函数3.3.2.增加信息模块。输入要增加的信息条数num。如果原来学生的数量为0.那么学生的数量为num,将要输入的学生信息依次放在指针位置为0(num-1)的位置,然后调用count函数,按总成绩对学生进行排名,并在屏幕上显示。如果原来学生数量不为0,询问是否覆盖原来的数据,如果选择覆盖,那么学生的数量为num,将要输入的学生信息依次放在指针位置为0(nu
12、m-1)的位置,然后调用count函数,按总成绩对学生进行排名,并在屏幕上显示。如果不选择覆盖,那么学生个数等于原个数加上新增数,将信息依次放在指针位置为numstusumstus+num-1)的位置,然后调用count函数,按总成绩对学生进行排名,并在屏幕上显示。最后返回主函数。 3.3.3查询信息模块。如果学生数量为0,没有信息可查询,返回主函数。如果学生人数不为0,则询问用户要选择的查询方式,有3种查询方式供选择,分别为按学号查询,按姓名查询,按名次查询。对于按学号查询,将输入的学号与各个学生的学号相比较调用格式为 strcmp(str,studi.number)。如果输入的学号与某个学
13、生的学号相等,则输出该学生的全部信息。对于按姓名查询,将输入的姓名与各个学生的姓名相比较,调用格式为 strcmp(str,studi.name)。如果输入的姓名与某个学生的姓名相等,则输出该学生的全部信息。对于按名次查询,将输入的名次与各个学生的名次相比较。如果输入的名次与某个学生的名次相等(num=studi.index),则输出该学生的全部信息。 3.3.4.修改模块。如果学生数量为0,没有信息可查询,返回主函数。如果学生人数不为0,则调用查询函数 findrecord(pointer),查询函数返回一个整型数据i,则修改函数对地i个学生的信息进行修改。修改完毕后,重新对学生的总成绩进行
14、排名,并在屏幕显示修改之后的信息。 如果要删除信息,则调用删除函数deleterecord(),修改完毕后,重新对学生的总成绩进行排名,并在屏幕显示修改之后的信息。如果还要修改其它信息,则返回开始处继续执行。最后返回主函数 3.3.5.排序模块。如果学生数量为0,没有信息可排序,返回主函数。如果学生人数不为0,询问用户要选择的排序方法。输入1,则按学号进行排序,可对学号进行升序排序,降序排序。如果进行降序排序,调用函数sortnum(p),如果进行升序排序,则调用函数sortnum2(p); 输入2,则按姓名进行排序,可对姓名进行升序排序,降序排序。如果进行降序排序,调用函数sortname(
15、p),如果进行升序排序,则调用函数sortname(p);输入3,则按名次进行排序,可对名次进行升序排序,降序排序。如果进行降序排序,调用函数sortcount(p),如果进行升序排序,则调用函数sortcount2(p);排序完成之后,显示排序之后的结果。如果还要进行其它的排序,则返回继续进行查询。查询完毕之后,返回主函数。在寻找的过程中用了字符串的比较strcmp(字符串1,字符串2) 如果字符串1=字符串2则函数值为0。 如果字符串1字符串2则函数值为一个正整数。 如果字符串1字符串2则函数值为一个负整数。3.3.6.统计模块。询问用户想要统计的科目,一共有5科(语文,数学,英语,物理)
16、,输入数字15进行选择。在运用swith()的选择功能,进行各个科目的统计。运用比较法得到统计信息。3.3.7.保存文件模块。定义一个指向文件的指针的文件变量fp。用到fopen(文件名使用文件方式)fclose(文件指针)fprintf(文件指针格式字符串输出列表)。保存文件模块将输入的信息保存在硬盘中。打开文件模块将保存起来的文件再次调出来使用。显示模块将用户选择的模块在屏幕上显示出来 3.3.8.打开文件模块。定义一个指向文件的指针的文件变量fp。用到fopen(filename,rb+)=NULL) rb+,其中为读写打开一个二进制文件 fscanf(fp,%d,&numstus);
17、从磁盘文件中读取变量numstus,在屏幕上显示4.功能模块图4.1增加模块4.2查询模块4.3修改模块4.4排序模块4.5统计模块5.数据结构设计此程序中用到了 (1)基本类型1)常量的使用#define H_STUDENT_HH50 2)整型int 3)字符型char4)浮点型float 5)浮点型(双精度double) (2)结构体类型 #define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/ #define numsubs 5 /*学科数目*/ typedef struct message_student /*结构体定义*/
18、 char number6; char name20; char sex4; float subjectnumsubs; float score; float average; int index; student; (3)指针类针:FILE *fp,文件型指针变量,fp是一个指向FLIE类型结构的指针变量。 6.算法设计7.程序运行结果7.1主函数运行结果 7.2增加模块运行结果7.3查询模块运行结果a.按名次进行查询b.按学号进行查询c.按名次进行查询7.4修改模块运行结果7.5排序模块运行结果a.按学号排序b.按姓名排序c.按名次排序7.6统计模块运行结果7.7打开文件模块运行结果7.8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩管理系统 增加 查询 修改 排序 统计 文件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。