C语言班级成绩管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

学院课程设计报告C语言程序设计课程设计专业电气工程及其自动化班级姓名学号指导教师年月新能源与动力工程学院课程设计任务书课程名称:C语言程序设计课程设计指导教师(签名):班级:姓名学号:一、课程设计题目班级成绩管理系统二、课程设计使用的原始资料(数据)及设计技术要求:安装有Windows操作系统电脑VisualC++6.0二、课程设计的目的学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和政治)等三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)1.输入功能:可以一次完成无数条信息的输入。2.输出功能:能按班级输出学生的成绩单。3.修改功能:完成对单个学生成绩的修改。4.查找功能:完成对单个学生信息查找,并显示。5.排序功能:按学生成绩进行排序,并显示。四、工作进度安排7月8日:选择课程设计题目,确定分组7月9日:查找资料,编辑程序7月10日:查找资料,编辑程序7月11日:查找资料,修改程序7月12日:审核和打分五、主要参考文献[1]谭浩强.《C语言程序设计》(第二版).北京:清华大学出版社,2009.[2]谭浩强《C程序设计程序设计学习辅导》.北京:清华大学出版社,2005.审核批准意见系主任(签字)年月日指导教师评语及成绩评定表指导教师评语成绩设计过程(40)设计报告(50)小组答辩(10)总成绩(100)指导教师签字:年月日目录一.引言........................................................-1-1.1设计目的..........................................-1-1.2意义...............................................-1-1.3内容...............................................-1-1.4主要任务...........................................-2-二.主要功能和功能..............................................-3-2.1主要功能...........................................-3-2.2要求...............................................-3-三.系统的数据需求及性能分析.....................................-4-3.1数据需求..........................................-4-3.2系统的性能分析.....................................-4-四.输入输出要求................................................-5-五.整体框架结构................................................-6-六.学生成绩业务管理图..........................................-7-七.系统概要设计................................................-8-7.1程序的模块组成....................................-8-7.2学生信息结构数组..................................-8-7.3各个程序的主要功能介绍:..........................-9-八.系统详细设计................................................-10-8.1函数介绍..........................................-10-九.调试与测试.................................................-13-9.1系统调试..........................................-13-9.2系统测试..........................................-13-十.总结.......................................................-20-参考文献.......................................................-22-附录源代码...................................................-23--1-一.引言1.1设计目的1.学生成绩的录入2.能统计学生的成绩,求学生的总分及平均分3.能查询单个学生成绩4.能修改单个学生信息1.2意义随着经济的快速发展,科技的日益普及。目前我国的信息数字化工作也进入一个全新发展时期,特别是高校的信息化建设已进入了全面的发展阶段,诸多高校充分地认识到,信息化建设己经成为了高校提高自身管理水平、提升综合竞争实力的重要手段。在高校,各种信息管理系统层出不穷。通过本系统,能够实现对学生成绩的有效管理,减少教务人员、教师的工作量,该系统能够很好的满足学校教学、管理方面的要求。为教务人员、教师提供学生成绩管理系统,以轻松实现学生成绩管理。系统化的成绩管理可以减少教务人员及教师因为工作量大而出现错误,为学校减少不必要的人力、物力、财力,便于学生成绩的增加、删除、修改、查询。1.3内容对一个有N个学生的班级,每个学生有四门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。-2-1.4主要任务1.能按完成对学生成绩的录入、修改。2.能统计学生的成绩,求学生的总分及平均分。3.能查询学生各科成绩。-3-二.主要功能和功能2.1主要功能1.学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。这样学生就能很方便的找到自己所需要的信息。2.管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。3.添加功能:管理员可以输入学生成绩等相关信息。4.修改功能:输入密码后管理员可以对数据库中的信息进行修改,系统能够通过管理员的给出的条件查找出所要修改的信息,对修改后的信息进行保存。5.统计功能:管理员可以通过此功能对信息进行统计。2.2要求使用二进制文件方式存储数据,系统以菜单方式工作学生成绩信息包括:学号,班别,姓名,四门课程成绩(语文、数学、英语和政治)等。要求使用二进制文件方式存储数据,系统以菜单方式工作,实现对学生成绩的录入,修改,统计,排序,查询,输出等功能。-4-三.系统的数据需求及性能分析3.1数据需求通过查阅资料以及对程序的理解,总结出用户对数据的需求如下:1.学生信息:包括:学号、学生姓名等信息。2.课程信息:包括:课程编号、课程名称等。3.基本数据维护功能:(1)录入学生的成绩信息。(2)显示学生的成绩信息。(3)保存学生的成绩信息。(4)排序学生的成绩信息。(5)统计学生的成绩信息。3.2系统的性能分析1.系统的高速性、稳定性、安全性。2.系统人机界面友好,易学易用。3.系统维护成本较低。-5-四.输入输出要求在菜单选项中1-7,选择功能项,进行对应选项的函数调用。1.每一条记录包括一个学生的学号、姓名、4门成绩、平均成绩;2.输入功能:输入学生的基本信息存入磁盘文件中;3.显示功能:输出已存盘的学生信息;4.排序功能:输出用户所要选择科目的提问,输入科目后输出该科目一排好的学生成绩,并按学生平均成绩进行排序;5.插入功能:插入新的信息;6.修改功能,输入密码.错误输出是否继续输入密码.正确则逐个输出是否想要修改学生信息;7.保存功能:将学生记录保存在任何自定义的文件中。-6-五.整体框架结构图1整体框架结构图主程序初始化录入显示排序插入修改保存退出-7-六.学生成绩业务管理图、图2学生成绩业务管理图学生输入学号和密码查询学生数据库成绩数据库输出结果输出结果统计汇总新数据数据修改或添加管理员-8-七.系统概要设计7.1程序的模块组成第一个模块:先定义好一些必要的全局变量以及调用的函数和结构体数组。第二个模块:设计一个菜单函数menu();实现能供用户选择功能项。第三个模块:用enter()函数实现成绩的输入。第四个模块:用save()函数实现成绩的保存。第五个模块:用print()函数实现成绩输出。第六个模块:用cort()函数实现成绩排序功能。第七个模块:用modify()函数实现成绩修改功能。第八个模块:用count()函数实现成绩统计功能。main函数实现总的控制台界面,调用voidenter(),voidcort(),voidmodify(),voidcount(),print(),voidsave(),函数实现各种用户功能要求。7.2学生信息结构数组structstu{charname[20];intnum;intscore[M];-9-};7.3各个程序的主要功能介绍:1.为便于用户使用,先定义一个常数N表示人数,学生信息的结构体数组,以及调用功能项的函数。2.voidmain():利用swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。3.voidEnter():用来执行学生成绩记录的输入。4.voidPrint():显示所有学生的信息。5.voidsave():这是一个不返回值的有参函数,形参为“链表头的指针”,可以把学生记录保存在电脑上由自己任意命名的二进制文件。6.voidCort():要排序的科目的序号,用选择排序法实现函数学生成绩的排序。7.voidModify():需要通过密码验证,进入菜单后可实现对学生资料的修改。8.voidCount():可以显示学生的平均成绩以及科目最高分。-10-八.系统详细设计8.1函数介绍1.主函数main()利用swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!2.voidEnter()函数用scanf依次输入学生信息,在输入多门成绩成绩时,用for循环来实现,结尾调用save()函数保存。3.voidPrint()函数为了使界面美观对学生成绩用%5d输出,且用换行实现,学生信息整齐排列。4.voidCort()函数先定义choice1,输出想要排序的科目的序号,用选择排序法实现函数学生成绩的排序。5.voidModify()函数先定义好一个密码以及flag=0;如果输入的密码错误则flag=1,用do..while实现是否重新输入密码,密码准确后调用modi()函数,实现修改功能。6.voidCount()函数用menu1函数实现一个菜单功能。用switch实现,用户选择想执行的功能,从而调用Show1()Show2()Show3()。-11-图3结构图开始Main()enter()print()save()sort()modify()运行程序count()ChoiceChoice函数123456退出程序7-12-8.2统计函数流程开始调用menu1函数输入choice1choice1调用show1函数调用show2函数输入选择的科目J=0I=0I=i+1Ins[n].score[i]s[n+1].score[i]Temp=s[i].score[n]s[n].score[i]=s[n+1].score[i]S[i+1].score{n]=tempJ=j+1I=0;sum=0I=i+1INSum=sum+s[i].score[j]Sum=sum+s[i].sc

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功