当前位置:文档之家› C语言班级成绩管理系统

C语言班级成绩管理系统

学院课程设计报告C语言程序设计课程设计专业电气工程及其自动化班级姓名学号指导教师年月新能源与动力工程学院课程设计任务书课程名称:C语言程序设计课程设计指导教师(签名):班级:姓名学号:指导教师评语及成绩评定表指导教师签字:年月日目录一.引言........................................................ - 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.学生成绩的录入2.能统计学生的成绩,求学生的总分及平均分3.能查询单个学生成绩4.能修改单个学生信息1.2意义随着经济的快速发展,科技的日益普及。

目前我国的信息数字化工作也进入一个全新发展时期,特别是高校的信息化建设已进入了全面的发展阶段,诸多高校充分地认识到,信息化建设己经成为了高校提高自身管理水平、提升综合竞争实力的重要手段。

在高校,各种信息管理系统层出不穷。

通过本系统,能够实现对学生成绩的有效管理,减少教务人员、教师的工作量,该系统能够很好的满足学校教学、管理方面的要求。

为教务人员、教师提供学生成绩管理系统,以轻松实现学生成绩管理。

系统化的成绩管理可以减少教务人员及教师因为工作量大而出现错误,为学校减少不必要的人力、物力、财力,便于学生成绩的增加、删除、修改、查询。

1.3内容对一个有N个学生的班级,每个学生有四门课程。

该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。

1.4主要任务1.能按完成对学生成绩的录入、修改。

2.能统计学生的成绩,求学生的总分及平均分。

3.能查询学生各科成绩。

二.主要功能和功能2.1主要功能1.学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。

这样学生就能很方便的找到自己所需要的信息。

2.管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。

3.添加功能:管理员可以输入学生成绩等相关信息。

4.修改功能:输入密码后管理员可以对数据库中的信息进行修改,系统能够通过管理员的给出的条件查找出所要修改的信息,对修改后的信息进行保存。

5.统计功能:管理员可以通过此功能对信息进行统计。

2.2要求使用二进制文件方式存储数据,系统以菜单方式工作学生成绩信息包括:学号,班别,姓名,四门课程成绩(语文、数学、英语和政治)等。

要求使用二进制文件方式存储数据,系统以菜单方式工作,实现对学生成绩的录入,修改,统计,排序,查询,输出等功能。

三.系统的数据需求及性能分析3.1 数据需求通过查阅资料以及对程序的理解,总结出用户对数据的需求如下:1.学生信息:包括:学号、学生姓名等信息。

2.课程信息:包括:课程编号、课程名称等。

3.基本数据维护功能:(1)录入学生的成绩信息。

(2)显示学生的成绩信息。

(3)保存学生的成绩信息。

(4)排序学生的成绩信息。

(5)统计学生的成绩信息。

3.2系统的性能分析1.系统的高速性、稳定性、安全性。

2.系统人机界面友好,易学易用。

3.系统维护成本较低。

四. 输入输出要求在菜单选项中1-7,选择功能项,进行对应选项的函数调用。

1.每一条记录包括一个学生的学号、姓名、4门成绩、平均成绩;2.输入功能:输入学生的基本信息存入磁盘文件中;3.显示功能:输出已存盘的学生信息;4.排序功能:输出用户所要选择科目的提问,输入科目后输出该科目一排好的学生成绩,并按学生平均成绩进行排序;5.插入功能:插入新的信息;6.修改功能,输入密码.错误输出是否继续输入密码.正确则逐个输出是否想要修改学生信息;7.保存功能:将学生记录保存在任何自定义的文件中。

五.整体框架结构图1 整体框架结构图六.学生成绩业务管理图图2 学生成绩业务管理图七.系统概要设计7.1 程序的模块组成第一个模块:先定义好一些必要的全局变量以及调用的函数和结构体数组。

第二个模块:设计一个菜单函数menu();实现能供用户选择功能项。

第三个模块:用enter()函数实现成绩的输入。

第四个模块:用save()函数实现成绩的保存。

第五个模块:用print()函数实现成绩输出。

第六个模块:用cort()函数实现成绩排序功能。

第七个模块:用modify()函数实现成绩修改功能。

第八个模块:用count()函数实现成绩统计功能。

main函数实现总的控制台界面,调用void enter(),void cort(),void modify(),void count(),print(),void save(),函数实现各种用户功能要求。

7.2 学生信息结构数组struct stu{char name[20];int num;int score[M];};7.3 各个程序的主要功能介绍:1.为便于用户使用,先定义一个常数N表示人数,学生信息的结构体数组,以及调用功能项的函数。

2.void main():利用swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

3.void Enter():用来执行学生成绩记录的输入。

4.void Print():显示所有学生的信息。

5.void save():这是一个不返回值的有参函数,形参为“链表头的指针”,可以把学生记录保存在电脑上由自己任意命名的二进制文件。

6.void Cort():要排序的科目的序号,用选择排序法实现函数学生成绩的排序。

7.void Modify():需要通过密码验证,进入菜单后可实现对学生资料的修改。

8.void Count():可以显示学生的平均成绩以及科目最高分。

八.系统详细设计8.1函数介绍1.主函数main()利用swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。

等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!2. void Enter()函数用scanf依次输入学生信息,在输入多门成绩成绩时,用for循环来实现,结尾调用save()函数保存。

3. void Print()函数为了使界面美观对学生成绩用%5d输出,且用换行实现,学生信息整齐排列。

4.void Cort()函数先定义choice1,输出想要排序的科目的序号,用选择排序法实现函数学生成绩的排序。

5.void Modify()函数先定义好一个密码以及flag=0;如果输入的密码错误则flag=1,用do ..while实现是否重新输入密码,密码准确后调用modi()函数,实现修改功能。

6. void Count()函数用menu1函数实现一个菜单功能。

用switch 实现,用户选择想执行的功能,从而调用Show1()Show2()Show3()。

图3 结构图8.2 统计函数流程九.调试与测试9.1系统调试1.在enter()函数中对学生成绩的输入用scanf(“%d”,s);当输入一门成绩后就会跳回,使接下来的程序无法运行,改为for(j=1;j<=M;j++) scanf(“%d”,&s[i].score[j]);将错误解决。

2.在enter函数中,输入姓名用scanf(“%s”,&s[i].name);错误,在scanf函数中的输入项如果是字符数组名代表该数组的起始地址.则应改为scanf(“%d”,s[i].name)。

相关主题