C语言课程设计报告书—班级成绩管理系统(26页).doc
《C语言课程设计报告书—班级成绩管理系统(26页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计报告书—班级成绩管理系统(26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C语言课程设计报告书班级成绩管理系统-第 22 页 课 程 设 计 报 告课程名称 C语言程序设计 课题名称 班级成绩管理系统 专 业 电气工程及其自动化 班 级 电气工程 学 号 姓 名 指导教师 年月日湖南工程学院 课 程 设 计 任 务 书课程名称 C语言程序设计 课 题 班级成绩管理系统 专业班级 电气班 学生姓名 学 号 指导老师 审 批 任务书下达日期 年月日任务完成日期 月 日目录第一章 绪论-1第二章 需求分析-4 第三章 概要设计-8第四章 详细设计-10第五章 测试-13第六章 使用说明-15第七章 总结-18附录-20第一章:绪论一课题描述:C语言程序设计课程设计是对学
2、生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生可任选其中一题进行设计,设计完毕写出课程
3、设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计报告与磁盘收齐后交指导老师。二.课程设计内容问题描述:一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。功能要求:、本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。、本系统显示这样的菜单:请选择系统功能项:a、成绩录入b、成绩显示c、成绩保存d、成绩排序e、成绩修改(要求先输入密码)f、成绩统计1、显示每门课程成绩最高的学生的基本信息2、显示每门课程的平均成绩g、退出系统、执行一个具体的功能之后,程序将重新显示菜单。、将学生成绩保存到文
4、件中。算法提示:、数据结构:结构体类型数组。、数据库结构:下表构成该系统的基本数据库。 姓名学号课程名称1课程名称2 char Char float float测试数据:学生人数N=10课程门数M=4课程名:数学、语文、英语、政治其它该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。三.课程设计要求及分组安排。1. 课程设计要求1)设计正确,方案合理。2)界面友好,使用方便。3)程序精炼,结构清晰。4)设计报告5000字以上,含程序设计说明、用户使用说明,系统的功能框图、流程图、源程序清单等。5)上机演示。6)每个学生在规定的时间内独自完成相关课题的C源程序编写,调整和运行。源程
5、序及编译生成各文件均保存在软盘中;7)实际操作过程中遇到的问题及解决方法:设计总结及心得体会.8)按任务书的要求,按附录的要求编写课程设计报告(Word文档格式)。并用A4的复印纸打印并装订。2.分组及安排所选题目(共8题)根据学生学号顺序选课题号,四个人一道题,相邻四个学号的同学选同一道题,32号以后的同学按学号每人选一题。如你的学号为15,则所选题目号为:第四题。3成绩评定程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量高低;答辩时回答问题情况;课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。第二章:系统需求分析一. 摘要1. 开发系统的名称:班级成绩管理系统。2
6、. 开发系统的目标:开发出一个操作简便、界面友好、灵活实用、安全可靠的学生成绩管理系统。该系统的开发可以提高班级对学生成绩的统计分析效率、减轻教务管理人员对学生成绩管理和统计的负担、提高班级对学生成绩的规范化管理。结合班级管理的实际需要,实现对学生成绩等数据进行有效的管理,提供查询分析功能等。二. 成绩管理系统的背景分析:当今时代是飞速发展的信息时代,在各行各业中离不开信息处理, 正是计算机被广泛应用于信息管理系统的环境.计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.随着科
7、学技术的不断提高,计算机科学日渐成熟,其强大的功能在人类社会的各个领域并发挥着越来越重要的作用. 学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流.本系统是班级教学管理的一个功能模块,可以快速方便地对学生成绩进行管理、输入、显示、查询、和统计等功能。三.开发学生成绩管理的必要性:开发一个学生成绩管理系统,采用计化.现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需.求,因为它浪费了大量的人力物力,也
8、存在着许多不足的因素.在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替.一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的成绩.算机对学生成绩进行管理,进一步提高了办学效益和现代化水平.为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动三 系统的功能需求: 1. 系统需要实现的功能包括以下几个方面:1.1 学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。这样学生就能很方便的找到自己所需要的信息
9、。1.2 管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。1.3 添加功能:管理员可以输入学生成绩等相关信息。1.4 修改功能:输入密码后管理员可以对数据库中的信息进行修改,系统能够通过管理员的给出的条件查找出所要修改的信息,对修改后的信息进行保存。1.5 统计功能:管理员可以通过此功能对信息进行统计。四. 系统的数据需求1. 通过查阅资料以及对程序的理解,总结出用户对数据的需求如下:1)学生信息:包括:学号、学生姓名等信息。2)课程信息:包括:课程编号、课程名称等。3)基本数据维护功能: 1. 录入学生的成绩信息。 2. 显示学生的成绩信息。 3. 保存学生的成绩信息。 4.
10、 排序学生的成绩信息。 5. 统计学生的成绩信息。五系统的性能分析 1. 系统的高速性、稳定性、安全性。2. 系统人机界面友好,易学易用。3. 系统维护成本较低。六. 输入输出要求:在菜单选项中1-7,选择功能项,进行对应选项的函数调用.1)、每一条记录包括一个学生的学号、姓名、4门成绩、平均成绩;2) 输入功能:输入学生的基本信息存入磁盘文件中;3)、显示功能:输出已存盘的学生信息; 4)、排序功能:输出用户所要选择科目的提问,输入科目后输出该科目一排好的学生成绩,并按学生平均成绩进行排序;5)、插入功能:插入新的信息; 6)修改功能,输入密码.错误输出是否继续输入密码.正确则逐个输出是否想
11、要修改学生信息;7)、保存功能:将学生记录保存在任何自定义的文件中;8)、退出功能:有一个清晰美观界面来调用各个功能。七体框架结构主程序初始化 录入 显示 排序 插入 修改 保存 退出八学生成绩业务管理图输出结果学生数据库查询输入学号和密码学生新数据统计汇总成绩数据库数据修改或添加管理员输出结果图3第三章:系统概要设计1程序的模块组成第一个模块:先定义好一些必要的全局变量以及调用的函数和结构体数组。第二个模块:设计一个菜单函数menu();实现能供用户选择功能项。第三个模块:用enter()函数实现成绩的输入。第四个模块:用save()函数实现成绩的保存。第五个模块:用print()函数实现成
12、绩输出。第六个模块:用cort()函数实现成绩排序功能。第七个模块:用modify()函数实现成绩修改功能。第八个模块:用count()函数实现成绩统计功能。main函数实现总的控制台界面,调用void enter(),void cort(), void modify(),void count(),print(), void save(),函数实现各种用户功能要求。2.学生信息结构数组 struct stuchar name20; int num; int scoreM;3.各个程序的主要功能介绍:1:为便于用户使用,先定义一个常数N表示人数,学生信息的结构体数组,以及调用功能项的函数。2:v
13、oid main(): 利用swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。 3:void Enter():用来执行学生成绩记录的输入。4:void Print():显示所有学生的信息。5: void save():这是一个不返回值的有参函数,形参为“链表头的指针”,可以把学生记录保存在电脑上由自己任意命名的二进制文件 6:void Cort():要排序的 科目的 序号,用选择排序法实现函数学生成绩的排序。7: void Modify():需要通过密码验证,进入菜单后可实现对学生资料的修改.8: void Count():可以显示学生的平均成绩以及科目最高分.第四章
14、:系统详细设计一 . 整个系统除了主函数外,另外还有7个函数,实现六大功能:输入功能、显示功能、排序功能、修改功能、删除功能、保存功能。各个函数的详细设计说明分别如下:1、主函数main()利用swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!2、void Enter()函数用scanf依次输入学生信息,在输入多门成绩成绩时,用for循环来实 现,结尾调用save()函数保存。3、void Print()函数
15、为了使界面美观对学生成绩用%5d输出,且用换行实现,学生信息整齐排列。4、void Cort()函数先定义choice1,输出想要排序的 科目的 序号,用选择排序法实现函数学生成绩的排序。5、void Modify()函数先定义好 一个密码以及flag=0;如果输入的密码错误则flag=1,用do .while实现是否重新输入密码,密码准确后调用modi()函数,实现修改功能6、void Count()函数用menu1函数实现一个菜单功能。用switch实现,用户选择想执行的功能,从而调用Show1()Show2()Show3();1.总流程图开始Main()enter()print()sav
16、e()sort()modify ()运行程序count()ChoiceChoice函数123456退出程序72.统计函数流程图开始调用menu1函数输入choice1choice1调用show1函数调用show2函数输入选择的科目J=0I=0I=i+1Isn+1.scoreiTemp=si.scorensn.scorei=sn+1.scoreiSi+1.scoren=tempJ=j+1I=0;sum=0 I=i+1INSum=sum+si.scorejSum=sum+si.scorej输出排序成绩输出平均成绩返回函数123结束结束第五章:测试1系统调试1:在enter()函数中对学生成绩的输入
17、用scanf(“%d”,s);当输入一门成绩后就会跳回,使接下来的程序无法运行,改为for(j=1;j=M;j+) scanf(“%d”,&si.scorej);将错误解决.2:在enter函数中,输入姓名用scanf(“%s”,&si.name);错误,在scanf函数中的输入项如果是字符数组名代表该数组的起始地址.则应改为scanf(“%d”,si.name);3:在运行print()函数时,第四门课显示出来的分数并非输入项:错误,在定义时将j=1,应改为j=0。 4:学生成绩定义为浮点型,但与scanf连接不起来。是 由于所使用的系统不支持该项操作。5:在count( )函数中,show
18、3( );输出的人数比 实际的多一人,因为b+:在循环结束之后会自增一次,则比 实际的大一。2. 结果分析1:为了使调试程序简便,先定义班级的人数N为3人,编译连接后,显示出菜单桌面,先输入学生成绩保存起来.2:选择2.在用循环输出学生的基本信息的最后加printf(“n”);,则输出学生的基本信息是每行显示一位同学的信息.3:选择5.修改函数中用getchar()来覆盖原有的,则就可输出修改的信息.4:选择6.用一个选择菜单int menu1()int choice1;printf(n*n);printf(1:xian shi mei ke cheng ji zui gao de xue s
19、heng xin xin);printf(2:xian shi mei ke ping jun cheng jin);printf(3:xian shi chao gou ping jun cheng ji de ren shun);printf(4:quitn);printf(*n);选择.输入选择的科目用标记法找出成绩最高的的学生则输出其基本信息.选择.用for循环,先求出了每门的总成绩再除以人数的到平均成绩用一个数组接收.再用循环则的到结果.选择.先定义了一个数组bM.用循环如果出现超过平均成绩的人就自增一次,接收到bM中,用循环输出bM则得到每门超过平均成绩的人数.5:在modify(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告书 班级 成绩管理系统 26
限制150内