班级成绩管理系统C语言课程设计.docx
- 文档编号:2396678
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:25
- 大小:211.97KB
班级成绩管理系统C语言课程设计.docx
《班级成绩管理系统C语言课程设计.docx》由会员分享,可在线阅读,更多相关《班级成绩管理系统C语言课程设计.docx(25页珍藏版)》请在冰豆网上搜索。
班级成绩管理系统C语言课程设计
课程设计报告
课程名称C语言程序设计
课题名称班级成绩管理系统
专业机械设计制造及其自动化
班级0983班
学号200913090334
姓名
指导教师王颖
2010年6月30日
湖南工程学院
课程设计任务书
课程名称C语言程序设计
课题班级成绩管理系统
专业班级机械设计0983
学生姓名
学号200913090334
指导老师王颖
审批
任务书下达日期年月日
任务完成日期年月日
第一章绪论--------------------------------------------------------
第二章需求分析--------------------------------------------------
2.1程序的功能------------------------------------------
2.2输入输出的要求------------------------------------
第三章概要设计--------------------------------------------------
3.1程序的模块组成-------------------------------------
3.2学生信息结构数组----------------------------------
3.3各个程序的功能介绍-------------------------------
第四章详细设计--------------------------------------------------
4.1总流程图----------------------------------------------
4.2统计函数流程图-------------------------------------
第五章测试--------------------------------------------------------
5.1系统调试----------------------------------------------
5.2结果分析----------------------------------------------
第六章使用说明--------------------------------------------------
第七章总结--------------------------------------------------------
附录---------------------------------------------------------------------
评分表------------------------------------------------------------------
第一章:
绪论
一.成绩管理系统的背景分析:
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,正是计算机被广泛应用于信息管理系统的环境.计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能在人类社会的各个领域并发挥着越来越重要的作用.学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流.
二.开发学生成绩管理的必要性
开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平.为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化.现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素.在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替.一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的成绩.
三.课程设计内容
⑴问题描述:
一个有N个学生的班级,每个学生有M门课程。
该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。
⑵功能要求:
①、本系统采用一个结构体数组,每个数据的结构应当包括:
学号、姓名、M门课程名称。
②、本系统显示这样的菜单:
请选择系统功能项:
a、成绩录入
b、成绩显示
c、成绩保存
d、成绩排序
e、成绩修改(要求先输入密码)
f、成绩统计
Ⅰ、显示每门课程成绩最高的学生的基本信息
Ⅱ、显示每门课程的平均成绩
g、退出系统
③、执行一个具体的功能之后,程序将重新显示菜单。
④、将学生成绩保存到文件中。
⑶算法提示:
①、数据结构:
结构体类型数组。
②、数据库结构:
下表构成该系统的基本数据库。
姓名
学号
课程名称1
课程名称2
●●●●●●
char
Char
float
float
⑷测试数据:
学生人数N=10
课程门数M=4
课程名:
数学、语文、英语、政治
⑸其它
该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
四.课程设计要求及分组安排。
1.课程设计要求
1).设计正确,方案合理。
2).界面友好,使用方便。
3).程序精炼,结构清晰。
4).设计报告5000字以上,含程序设计说明、用户使用说明,系统的功能框图、流程图、源程序清单等。
5).上机演示。
6).每个学生在规定的时间内独自完成相关课题的C源程序编写,调整和运行。
源程序及编译生成各文件均保存在软盘中;
7).实际操作过程中遇到的问题及解决方法:
设计总结及心得体会.
8).按任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。
并用A4的复印纸打印并装订。
2.分组及安排
所选题目(共8题)根据学生学号顺序选课题号,四个人一道题,相邻四个学号的同学选同一道题,32号以后的同学按学号每人选一题。
如你的学号为15,则所选题目号为:
第四题。
3.成绩评定
程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量高低;答辩时回答问题情况;课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。
五.进度安排
第一周星期四:
课题讲解,查阅资料。
第二周星期一:
总体设计,详细设计。
星期二:
编程,上机调试,修改程序。
星期三:
上机调试,完善程序。
星期四:
上机调试,完善程序。
星期五:
答辩。
星期六—星期天:
撰写课程设计报告。
第二章:
系统需求分析
1.程序的功能:
对一个有N个学生的班级,每个学生有M门课程。
该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。
本系统采用一个包含N个结构的数组,每个数据结构应当包括:
学号、姓名、M个课程名称。
2.输入输出要求:
在菜单选项中1-7,选择功能项,进行对应选项的函数调用.
输入1,输入学生的基本信息存入磁盘文件中;
输入2,输出已存盘的学生信息;
输入3,输出用户所要选择科目的提问,输入科目后输出该科目一排好的学生成绩;
输入4,修改功能,输入密码.错误输出是否继续输入密码.正确则逐个输出是否想要修改学生信息;
输入5,输出三项功能的介绍,输入你的选择后输出实现的结果;
每执行一个具体的程序后都要重新显示菜单。
第三章:
系统概要设计
1.程序的模块组成
第一个模块:
先定义好一些必要的全局变量以及调用的函数和结构体数组。
第二个模块:
设计一个菜单函数menu();实现能供用户选择功能项。
第三个模块:
用enter()函数实现成绩的输入。
第四个模块:
用save()函数实现成绩的保存。
第五个模块:
用print()函数实现成绩输出。
第六个模块:
用cort()函数实现成绩排序功能。
第七个模块:
用modify()函数实现成绩修改功能。
第八个模块:
用count()函数实现成绩统计功能。
2.学生信息结构数组
structstu
{
charname[20];
intnum;
intscore[M];
};
3.各个程序的功能介绍
1:
为便于用户使用,先定义一个常数N表示人数,学生信息的结构体数组,以及调用功能项的函数。
2:
在menu()函数中,用switch来选择要执行的功能项用do…while实现每种具体功能后能返回菜单。
3:
Enter()函数,用scanf依次输入学生信息,在输入多门成绩成绩时,用for循环来实现,结尾调用save()函数保存。
4:
Print()函数中为使界面美观对学生成绩用%5d输出,且用换行实现,学生信息整齐排列。
5:
Save()函数使用文件保存。
6:
Cort()函数先定义choice1,输出想要排序的科目的序号,用选择排序法实现函数学生成绩的排序。
7:
Modify()函数,先定义好一个密码以及flag=0;如果输入的密码错误则flag=1,用do..while实现是否重新输入密码,密码准确后调用modi()函数,实现修改功能。
8:
Count()函数用menu1函数实现一个菜单功能。
用switch实现,用户选择想执行的功能,从而调用Show1()Show2()Show3();
第四章:
系统详细设计
1.总流程图
2.统计函数流程图
开始
调用menu1函数
输入choice1
choice1
调用show1函数
调用show2函数
输入选择的科目
J=0
I=0
I=i+1
I s[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]=temp J=j+1 I=0;sum=0 I=i+1 I Sum=sum+s[i].score[j] Sum=sum+s[i].score[j] 输出排序成绩 输出平均成绩 返回函数 1 2 3 结束 结束 第五章: 测试 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); 3: 在运行print()函数时,第四门课显示出来的分数并非输入项: 错误,在定义时将j=1,应改为j=0。 4: 学生成绩定义为浮点型,但与scanf连接不起来。 是由于所使用的系统不支持该项操作。 5: 在count()函数中,show3();输出的人数比实际的多一人,因为b++: 在循环结束之后会自增一次,则比实际的大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 班级 成绩管理系统 语言 课程设计