C语言程序设计班级档案管理系统报告文档.doc

上传人:laozhun 文档编号:2384691 上传时间:2023-02-17 格式:DOC 页数:27 大小:607KB
返回 下载 相关 举报
C语言程序设计班级档案管理系统报告文档.doc_第1页
第1页 / 共27页
C语言程序设计班级档案管理系统报告文档.doc_第2页
第2页 / 共27页
C语言程序设计班级档案管理系统报告文档.doc_第3页
第3页 / 共27页
C语言程序设计班级档案管理系统报告文档.doc_第4页
第4页 / 共27页
C语言程序设计班级档案管理系统报告文档.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《C语言程序设计班级档案管理系统报告文档.doc》由会员分享,可在线阅读,更多相关《C语言程序设计班级档案管理系统报告文档.doc(27页珍藏版)》请在三一办公上搜索。

1、课 程 设 计 报 告课程名称 C语言程序设计 课题名称 班级档案管理系统 专 业 计算机科学与技术专业 班 级 计算机1103班 学 号 11160307 姓 名 白天亮 指导教师 张雪 2012年 5 月 20 日沈阳化工大学课 程 设 计 任 务 书课程名称 C语言程序设计 课 题 班级档案管理系统 专业班级 计算机科学与技术专业1103班 学 号 11160307 姓 名 白天亮 指导老师 张雪 审 批 任务书下达日期 2012 年 5 月 5 日任务完成日期 2012 年 5 月 20 日前 言 设计课题八:班级档案管理系统一、问题描述:对一个有N个学生的班级,通过该系统实现对该班级

2、学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。2、本系统显示这样的菜单:请选择系统功能项:a. 学生基本信息录入b. 学生基本信息显示c. 学生基本信息保存d. 学生基本信息删除e. 学生基本信息修改(要求先输入密码)f. 学生基本信息查询(1) 按学号查询(2) 按姓名查询(3) 按性别查询(4) 按年龄查询g. 退出系统3、执行一个具体的功能之后,程序将重新显示菜单。4、将学生基本信息保存到文件中。5、进入系统之前要先输入密码。三、算法提示:1、 数据结构:结构体类

3、型数组2、 数据库结构:下表构成该系统的基本数据库。姓名学号性别年龄备注Charchar charintchar四、测试数据:学生人数N=10 五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。目录第一章 绪论第一节 课程背景第二节 本文所做工作第二章 需求分析第三章 总体设计第四章 详细设计第五章 测试第六章 使用说明第七章 总结附录A 源代码附录B 参考资料第一章绪论学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段 学生档案管理系统是典型的信息管理系统(M

4、IS),经过分析如此情况,我们用code#blocks开发工具,利用其提供的各种面向对象的开发工具和功能强大的SQL(结构化查询语言)。 第一节 课程背景在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计

5、算机的自动化系统。人工操作必将被计算机代替。有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。2.1 教育系统学生管理现状分析2.1.1 学校工作流

6、程分析学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。教务处、年级组长、班主任及任课老师跟据实际情况对录入

7、的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。第二节 本文所做工作本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:(1)系统管理员进入学生成绩管理系统学生档案管理的主要功能是:实现添加学生的基本信息、修改学生的基本信息、查询学生的基本信息、删除学生的基本信息等基本功能。(2)系统管理员进入学生成绩管理系统学生成绩管理的主要功能是:实现学生成绩的录入、学生成绩的修改与保存等基本功能。(3)系统管理员进行学生成绩管理系

8、统查询与统计的主要功能是:实现根据某个学生的基本信息查询他的成绩,还可以根据学生成绩的高低进行排序等基本功能。1.1 编写目的 本需求的编写目的在于研究学生档案管理系统软件的开发途径和应用方法 1.2 背景及范围 本项目的名称:学生档案管理系统 本软件基本上能具体化合理化的管理学生的学籍档案,用结构化的思维方式去了解计算机的基本工作原理和高级程序设计语言1.3 功能 主要功能:班级设置课程设置学生基本信息录入学生成绩录入学生信息和成绩修改查询成绩第二章 系统需求分析 可以使用户录入学生信息,并在系统中显示出来,还能对录入的信息进行保存,当需要时还可以对信息进行修改和删除,还能分别用学号、姓名、

9、性别、年龄对学生信息进行查询,用户进入系统需要输入密码。第三章 总体设计struct Student:一个结构体类型,他能存放姓名、性别、地址、学号、成绩等不同类型数据组成的组合型的数据结构。void main():主函数。FILE * fp:定义一个指向文件的指针变量fp.fp=fopen(学生信息,w +):将fopen函数的返回值赋给指针变量fp,或者说,fp指向了学生信息这个文件。如果文件不存在,则建立一个新的文本文件。Fscanf,fprintf:用格式化的方式读写文件。Strcmp:字符串比较函数。Strcpy:字符串复制函数。程序中还用到当型循环、swith分支语句、if语句等。

10、system(cls);:清屏函数,使界面更简洁。第四章 详细设计显示信息输出“修改信息,输入学号”输出“查无此人”输入密码分别查询显示修改后的学生信息进行删除输入“e”输入学号?结束输出“密码错误”输入密码 N N Y进入主界面输出“请选择”输入“a”输出“显示(b)保存(c)删除(d)修改e)查询(6)”输入“d”输入“f”输出“通过学号姓名性别年龄进行查询” N输出“查无此人” N Y输出“请选择”输入“b”进行修改输出“请选择”输入“b”第五章 系统调试输入密码进入系统 密码输入错误密码修改系统主界面学生基本信息录入学生基本信息显示学生基本信息保存学生基本信息删除学生基本信息修改学生基

11、本信息查询第六章 使用说明利用结构体函数类型,使函数显得没那么繁琐,利用文件指针,输入的信息将保存在文件中,以便下次查询和修改,使用“w+”方式读写文件,当指定那个文件不存在时,将建立一个文件,不会出现出错信息。利用fscanf和fprintf实现对文件的读写。不足之处:录入的信息没能保存,每次便已运行需要重新输入数据,对所学的东西没有合理结合。第七章 总结当刚开始听到要课程设计时,心里有点怕怕的,因为毕竟刚接触c语言,虽说也学到了一些皮毛,但当听到要自己去编写程序时,才发现自己不会的不懂的还多着呢,要编写一个程序还是有一些困难的,当真的让我去编写程序时,真的是有点怕怕的感觉。刚入学时,听到要

12、学习c语言时,我是非常的感兴趣,也非常高兴,因为那游戏、软件都要用c语言来实现,我想探究一下那到底是怎么实现的,能达到那样的效果,所以刚开始我很有激情,每节课我都认真听讲,虽然刚开始听起来有点困难,但是我相信功夫不负有心人,我知道课堂上的知识是不够的,所以我利用课下时间,积极搜寻与之相关的信息,去图书馆借阅相关资料和习题,来增长自己的知识。当程序写完了,我终于可以松口气了,经过一个思考,查资料,写源程序,上机调试.现在终于告一段落了.看到自己的劳动成果,心中不免有些惊喜,没想到自己还能独立完成初次的课程设计,虽然不敢说这个程序都是我一个人写的,但其中大部分都是我的成果,另外我还参考了别人的意见

13、,对自己的程序进行修改和完善。 这种课程设计对我们是非常有好处的,对C这门程序语言的掌握却有非常大的作用.从开始对题目的分析,就注定摆在我这样一个对C了解不多的新手面前的是一段艰难的旅程.但最终很庆幸的是我居然能够坚持下来,而且完成了设计工作. C语言是很难学的,这也许是因人而异,但对我来说确实是一个障碍。如今要自己完成一个课程设计,无疑是对自己的一个挑战.先是上网查找有关的资料,分析题目所需的数据,要用到哪些函数等等,星期二上网初步调试,将函数用些结构和语句连接起来,做这个工作时,又将书本翻阅了一遍,重新获得许多东西。如带参函数的特点,以及一些语句的运用及特点等等。将工作分配到每块是我完成这

14、个设计的主要方法,然而将每块都完成看起来比较轻松,但实际操作起来却是比较麻烦的.由于平时对C知识的积累较为匮乏,(这可能是最主要的原因了),所以操作起来真是寸步难行,没办法,只有拿出课本找到相应的知识点,临阵磨枪.费了一番功夫,再上机调试时就是最痛苦的时候了,错误一大堆,要一个一个的修改。经过几翻调试修改之后终于可以执行了,那时还兴奋了好长时间呢!然而执行出来的结果是不令人满意的,界面不美观不说,最重要的是输入太烦琐,而且受到的限制太多,如只能以某种方式输入,且个数受限制。于是又发费了大量时间去修改,终于比较满意了,但也到了星期五了,也就是答辩的时间。答辩的时候我才发现还有好多知识是我不会的,

15、老师问了我一些问题,我回答出来的却不多,我体会到我还要很努力的学习,在C的学习上我还有很长的一段路要走。今天不管怎样把这个设计作出来是件很高兴的事情,不过能够把这个设计顺利完成要归功于我的指导老师,帮了我很多忙,也让我发现了我有好多欠缺的地方,真的很感谢你们,谢谢!不管怎么说,我还是完成了这个设计.虽说累了点,但我想这对我们进一步掌握C,并为下学期的二级考试是有很大的帮助的.能够编出程序,其实本身就是对自己的一种肯定,是对自己前面一段时间学习综合水平的一个检阅.当然完成后的兴喜,只有经历过了才能体会到,而我体会到了.C语言课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼

16、实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重

17、重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计我最要感谢的就是我们的几位指导老师,老师们每天都不辞劳苦为我们服务,不管我们有什么问题,他们都耐心的为我们解答,我们有什么错误他们都积极给我们指正出来,虽然有时也批评一下,但这对我们是有很大帮助的,有这么多优秀的指导老师,我想我以后的学习会更上一层楼。附录A 源代码#include #include #include struct student int num; char na

18、me20; char sex; int age; char beizhu1000;void main() int pwsave=123456,pwscf1,xiu; int count=0,i,gg=0; char jin; struct student stu10; FILE * fp; /定义一个指向文件的指针变量fp fp=fopen(学生信息,r+);/将fopen函数返回值赋给指针变量fp fscanf(fp,%dn,&count); for(i=0;icount;i+) fscanf(fp,学号:%dn姓名:%sn性别:%cn年龄:%dn备注:%sn,&stui.num,stui.

19、name,&stui.sex,&stui.age,stui.beizhu);/用格式化方式写入文件 fclose(fp);/用fclose函数关闭数据文件 printf(请输入密码n);xiu=4; while(scanf(%d,&pwscf1) if(pwscf1=pwsave) while(1) system(cls); printf(a 学生基本信息录入n); printf(b 学生基本信息显示n); printf(c 学生基本信息保存n); printf(d 学生基本信息删除n); printf(e 学生基本信息修改(要求先输入密码)n); printf(f 学生基本信息查询n); p

20、rintf(g 退出程序n); scanf(%c,&jin); switch(jin) case a: system(cls); for(i=count;i10;i+) printf(请输入学生%d的信息:学号、姓名、性别、年龄、备注n,(count+1); scanf(%d %s %c %d %s,&stui.num,stui.name,&stui.sex,&stui.age,stui.beizhu); count+; printf(是否继续输入?Y/Nn); getchar(); scanf(%c,&jin); getchar(); if(jin!=Y) break; break; cas

21、e b: system(cls); for(i=0;icount;i+) printf(学号:%dn姓名:%sn性别:%cn年龄:%dn备注:%sn, stui.num,stui.name,stui.sex,stui.age,stui.beizhu); printf(按任意键继续操作); getchar(); getchar(); break; case c: system(cls); FILE * fp; fp=fopen(学生信息,w+); fprintf(fp,%dn,count);/用格式化方式读入文件 for(i=0;icount;i+) fprintf(fp,学号:%dn姓名:%s

22、n性别:%cn年龄:%dn备注:%sn, stui.num,stui.name,stui.sex,stui.age,stui.beizhu); printf(保存成功n); fclose(fp);/用fclose函数关闭数据文件 printf(按任意键继续操作); getchar(); getchar(); break; case d: system(cls); int xuehao,i1,flag=0; printf(请输入要删除学生的学号:n); scanf(%d,&xuehao); for(i=0;icount;i+) if(xuehao=stui.num) flag=1; for(i1

23、=i;i1count-1;i1+) stui1=stui1+1; if(flag=0) printf(查无此人n); printf(按任意键继续操作); getchar(); getchar(); if(flag=1) count=count-1; printf(删除成功n); printf(按任意键继续操作); getchar(); getchar(); break; case e: system(cls); char n120,c2; int c1,k; printf(请输入密码:n); scanf(%d,&pwscf1); if(pwscf1=pwsave) printf(请输入要修改学

24、生的学号:); scanf(%d,&c1); for(i=0;icount;i+) if(stui.num=c1) while(1) if(k=5) break; system(cls); printf(1.修改姓名n); printf(2.修改年龄n); printf(3.修改性别n); printf(4.修改备注n); printf(5.退出n); printf(请输入你的选择:); scanf(%d,&k); switch(k) case 1:system(cls); printf(请输入新姓名:); scanf(%s,n1); strcpy(stui.name,n1);break;/字

25、符串复制函数 case 2:system(cls); printf(请输入新年龄:); scanf(%d,&c1); stui.age=c1;break; case 3:system(cls); printf(请输入新性别:); getchar(); scanf(%c,&c2); stui.sex=c2;break; case 4:system(cls); printf(请输入新备注:); scanf(%s,n1); strcpy(stui.beizhu,n1);break; case 5:system(cls);break; default:printf(无此项操作n); printf(按任意键继续操作); getchar(); getchar(); else printf(密码错误n); printf(按任意键继续操作); getchar(); getchar(); break; case f: system(cls); int x; printf( (1).按学号查询n (2).按姓名查询n (3).按性别查询n (4).按年龄查询n); printf(请选择:); scanf(%d,&x); if(x=1) system(cls); int b1; printf(请输入学号:); scanf(%d,&b1); for(i=0;icount;i+)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号