C语言成绩管理系统说明书附程序.docx
- 文档编号:2867076
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:30
- 大小:169.31KB
C语言成绩管理系统说明书附程序.docx
《C语言成绩管理系统说明书附程序.docx》由会员分享,可在线阅读,更多相关《C语言成绩管理系统说明书附程序.docx(30页珍藏版)》请在冰豆网上搜索。
C语言成绩管理系统说明书附程序
课程设计报告
课程名称《C语言程序设计》
课题名称班级档案管理系统
专业机械设计制造及自动化
班级
学号
姓名
指导教师
2009年7月2日
湖南工程学院
课程设计任务书
课程名称《C语言程序设计》
课题班级档案管理
专业班级机械设计0983
学生姓名贺健
学号200913090307
指导老师王颖
审批
任务书下达日期2009年6月24日
任务完成日期2009年7月2日
一、设计内容与设计要求
1.课程设计目的:
全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。
2.课题题目
⑴班级成绩管理系统
⑵班级档案管理系统
⑶飞机订票系统
⑷猜数字游戏
⑸电子英汉词典设计
⑹心算抢答系统
⑺运动会分数统计系统
⑻小学生心算CAI系统
3.设计要求:
掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。
具体要求如下:
⑴设计课题题目:
每位同学根据自己学号除以8所得的余数加一选择相应题号的课题。
换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:
①完成系统需求分析:
包括系统设计目的与意义;系统功能需求;输入输出的要求。
②完成系统概要设计:
程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
③完成系统详细设计:
包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。
④调试分析以及设计体会:
测试数据:
准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。
⑤关键源程序(带注释)
⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。
二、进度安排
第一周星期四:
课题讲解,查阅资料;
第二周星期一:
总体设计,详细设计;
星期二:
编程,上机调试、修改程序;
星期三:
上机调试、完善程序;
星期四:
上机调试、完善程序;
星期五:
答辩;
星期六-星期天:
撰写课程设计报告。
设计课题二:
班级档案管理系统
一、问题描述:
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
二、功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:
学号、姓名、性别、年龄、备注。
2、本系统显示这样的菜单:
a.请选择系统功能项:
学生基本信息录入
b.学生基本信息显示
c.学生基本信息保存
d.学生基本信息删除
e.学生基本信息修改(要求先输入密码)
f.学生基本信息查询
(1)按学号查询
(2)按姓名查询
(3)按性别查询
(4)按年龄查询
g.退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
5、进入系统之前要先输入密码。
三、算法提示:
1、数据结构:
结构体类型数组
2、数据库结构:
下表构成该系统的基本数据库。
姓名
学号
性别
年龄
备注
char
char
char
int
char
四、测试数据:
学生人数N=10
五、其它:
对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
目录
一.绪论1
二.需求分析2
三.总体设计3
四.详细设计5
五.测试6
六.使用说明7
七.总结
一.绪论
目前最著名、最有影响、应用最广泛的windows、linux和UNIX三个操作系统都是用C语言编写的。
0S是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件中最庞大最复杂的系统软件。
既然如此庞大复杂的0S都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢?
由此可以肯定的说,c语言是一门十分优秀而又重要的语言。
C语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,它是理工科高等院校的一门基础课程。
我们必须学好C语言。
二.系统需求分析
1.设计目的:
通过设计来掌握C语言的数据类型,熟悉如何定义整型、字符型的变量、结构体类型,以及对它们的赋值、输入输出方法;掌握if循环语句、for循环语句、do-while循环语句while语句,switch语句;更重要的是掌握定义函数的方法,函数实参与形参的对应关系,以及“值传递”的方式,另外也要了解函数的嵌套调用;灵活定义全局变量、局部变量等;最后要学会使用文件的打开、关闭、读、写等文件操作函数。
2.设计意义:
通过设计程序这一过程,更深入地理解C语言知识,为C语言做一个完美总结。
也让我们了解一个小小的软件制作过程及一个完美的软件需要注意些什么。
3.功能要求:
该系统要求输入学生基本信息,并能随时对其进行输出、保存、删除、修改、查询。
为此,我们提供了七大功能模块。
另外,为了保证使用者能够更安全地使用该系统,我们还专门设立了保密设置。
4.输入输出要求:
输入输出学生基本信息,如姓名、性别、年龄、学号、备注。
三.总体设计
说明:
第一模块:
学生基本信息录入
第二模块:
学生基本信息显示
第三模块:
学生基本信息保存
第四模块:
学生基本信息删除
第五模块:
学生基本信息修改
第六模块:
学生基本信息查询
第七模块:
退出程序
四.详细设计
详细设计
1该程序运用了结构体数组
structstudent
{charnum[20];
charname[20];
charsex[5];
intage;
charother[80];
}stu[M];
2该程序也使用了输入输出函数scanf,printf;.
3程序中大量使用了个体getchar()函数清除输入时残留的数据,避免了数字对程序的影响.
4程序中使用了文件的打开与关闭,读入与读出,fwrite函数,fread函数来进行文件的保存等功能.
5程序中多次用不同的循环语句实现运行功能.例如:
switch语句,do----while语句,for循环语句,例外也使用了少用的goto循环使程序简洁便于观察一些.
6使用的头文件说明
#include
#include
#include
#include
7使用的宏定义,简便程序的输入:
#defineNULL0
#defineM2
#defineLENsizeof(structstudent)
#defineSCAN"%s,%s,%c,%d,%s"
#definePRINT"%-5d%-10s%-10s%-10c%-10d%-10s\n"
#defineTISHI"行序号学号姓名性别年龄备注\n"
8删除模块流程图
9修改模块流程图
五.测试
调试分析:
一、当输入正确密码后,将进入菜单栏,注意:
密码必须是要区分大小写字母的。
二、菜单设有七个功能选项:
1学生基本信息录入2学生基本信息显示3学生基本信息保存4学生基本信息删除5学生基本信息修改6学生基本信息查询7退出菜单
三、具体步骤:
a选择1进入学生基本信息录入,屏幕上依次将出现以下提示“请输入学生学号:
请输入学生姓名:
请输入学生性别:
请输入学生年龄:
请输入学生备注:
”该信息将根据你所输入的学生个数M来循环M次。
注意:
学生年龄的输入只能是数字!
b选择功能2将输出你所输入的学生信息;
c选择功能3将把你所写的学生信息保存到C盘中的HEJIAN文件夹中,运行屏幕上只会出现“你已经成功保存!
”;
d选择4功能将对信息进行删除,你可以根据你的需要选择根据学号删除或根据姓名删除,程序将根据你的选择调用相应的模块。
当你输入学号(姓名)时,屏幕将输出其对应的学生全部信息并提示你是否真的删除,你可以根据系统的提示选择你想要的答案!
e选择5功能时,只要你能能正确地密码(1234),你就能对学生信息进行修改。
当你选择好要修改的学生所在的序号后,你就可以根据功能所提供的五种修改方式:
姓名、学号、性别、年龄,进行修改!
f选择6功能你可以根据姓名、学号、性别、年龄查询相应的学生信息,屏幕上也将输出该信息。
g选择7将推出整个系统。
结果分析:
当输入数据正确时,结构体的首地址通过函数调用的方式传给保存函数等;
当进行功能选项时如果按了俩键,就会出现“ERROR“字样,而且是个死循环。
错误分析:
1在scanf函数中,总是忘记输入字符与字符串地址符的有无。
2将字符串的比较与复制混淆。
3调用函数时声明与调用时不一致:
且返回值不清楚。
4使用文件时未区分“wb”.”rb”,而导致程序出错。
5未使用getchar()函数清除残留的输入数据。
六.使用说明
1输入系统密码进入系统。
2.按照系统提示进行各部操作。
七.总结
在一周的课程设计中,我综合使用一学期内所学到的C语言知识,虽然谈不上熟练,但至少能较好地使用了!
此次课程设计中出现了很多问题,在老师、同学的帮助下,以及自己的努力,我对C语言中的赋值、循环、指针、字符、字符串、实型、整型等有了更深的理解。
更重要的是以往的程序中没有使用到文件来对数据进行保存处理。
由于不熟悉文件试着知识而导致费了很多时间和精力去解决问题,虽然如此但我并不抱怨,因为问题总算是基本解决了。
这是我的第一次程序设计,也是我自己做的一个小小的软件开发,从中我知道生活中绝大部分电器的使用是由小小的软件控制的,看似简单的功能背后的设计也不是很容易的。
一个完美的程序设计需要我们用心设计、精心规划,才能使产品更受用户青睐。
另外,此次程序设计中还有很多的不足,今后我一定会努力将其做得更完善的。
终于可以松口气了,经过一个思考,查资料,写源程序,上机调试.现在终于告一段落了.看到自己的劳动成果,心中不免有些惊喜,没想到自己还能独立完成初次的课程设计.
这种课程设计是枯燥无味的,但对C++这门程序语言的把握却有非常大的作用.从开始对题目的分析,就注定摆在我这样一个对C++了解不多的新手面前的是一段艰难的旅程.但最终很庆幸的是我居然能够坚持下来,而且完成了设计工作.
C++是很难学的,这也许是因人而异,但对我来说确实是一个障碍.如今要自己完成一个课程设计,无疑是对自己的一个挑战.先是上网查找有关的资料,分析题目所需的数据,要用到哪些函数等等,星期二上网初步调试,将函数用些结构和语句连接起来,做这个工作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 成绩管理系统 说明书 程序