高考学籍管理系统设计文档Word下载.docx
- 文档编号:22837453
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:11
- 大小:138.54KB
高考学籍管理系统设计文档Word下载.docx
《高考学籍管理系统设计文档Word下载.docx》由会员分享,可在线阅读,更多相关《高考学籍管理系统设计文档Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
指导教师:
姚仰光
2010年6月27日
目录
一问题提出,编写目的和意义
二软件(系统)功能描述
三数据结构、全局及主要的局部变量描述
四函数(模块)和主要算法的描述
五其他说明(环境、测试等)
(一)键盘录入功能和从文件读入数据
1.键盘录入功能
2.从文件读入数据
(二)五大功能
1.学生数据录入
2.学生信息查询
3.学生信息的按序输出
4.信息修改与删除
5.信息统计和与分析
六总结与体会
七致谢
八参考文献
一问题的提出,编写目的和意义
如今,高考已成为我们关注的焦点,但每年都需要对成千上万的考生信息进行管理,工程之大,非人力能为之。
因此我想模拟编写一个高考成绩管理系统的程序,我想通过这次编程增强自己的实践动手能力,充分利用自己在课堂上学习到的知识,增强自己的团队合作精神,不断积蓄自己知识,熟练掌握各种编程技巧,为将来做最好的准备!
这个是个高考成绩管理系统,主要实现学生信息的录入(可以从键盘读取,也可以从文本文件读取,并将最终的学生信息将保存在另一个文本文件中,此程序也可以对学生信息按各种顺序进行排名,统计分析,信息查询以及信息的修改和删除等等,如可以按准考号,理科成绩等等进行排名,然后保存到文本文件或显示在屏幕上。
主界面如下图:
对于这个程序,主要分为三个文件,一个是OurScore.h头文件,里面主要包括学生结构的声明和我使用的函数的声明,另外两个文件为.cpp文件,其中OurScore.cpp是对头文件中声明的函数进行定义,
在第二个OurScoreMain.cpp中包括了一个主函数main(),用来实现高考成绩管理系统的各个功能。
本程序包含了两个.cpp文件,其中OurScore.cpp文件中,就包含函数的定义。
其中包含Find()、Insert()、AddStu()、Print()、Sort()、Swap()、Modify()、Delete(),FromFile(),Save(),Display()等一些重要函数的定义。
下面我将简要描述一下这些函数。
Find(),其声明如下Stu*Find(string&
str,Stu*&
head);
其功能是按照指定的学生的某个信息(”str”)寻找该学生,并返回其在链表中所在位置的指针,下面有很多函数还需要调用它。
Insert(),其声明为voidInsert(Stu*&
head,stringAdimissionTicket,stringName,stringSex,stringBirthday,stringID,floatScience,floatArts,floatChinese,floatMath,floatEnglish);
其功能是将括号内的参数插入到链表,在接下来的FromFile()函数中要调用此函数。
Swap(),其声明为voidSwap(Stu*&
a,Stu*&
b);
其功能是交换两个学生在链表中所在位置,实现交换功能。
AddStu()(),其声明为voidAddStu(Stu*&
,其功能是自己从键盘输入学生信息,并且还包含了检验输入数据是否有效的功能。
从而实现信息从键盘录入的功能。
Sort(),其声明如下voidSort(Stu*&
其功能是对学生进行排序,包含了五种排序方式:
1.按文科成绩2.按准考号3.按理科成绩,4.按总平均分;
5.按总分排序;
实现这些功能需要分别调用GrandTotal(head)、Swap()。
Display(),其声明如下voidDisplay(Stu*&
head),其实现的功能是打印当前所有考生信息,可结合排序Sort()函数按各种顺序输出;
Modify(),其声明如下voidModify(Stu*&
head),其功能是修改学生的信息。
首先要先调用Find(),按各种方式查找到要修改的学生信息,然后重置该学生的信息,重置过程中同样有检验输入数据的合法性。
Delete(),其声明是voidDelete(Stu*&
head),其功能是删除学生的信息。
首先调用Find(),按各种方式查找到要删除的学生信息,然后执行删除操作。
FromFile(),其声明如下voidFromFile(Stu*&
其功能是从文本文件中读取学生信息,注意:
此方式在读取中无进行读入数据的合法性的检验,然后调用Insert(),将读取的学生信息插入链表中,从而实现了学生信息从文本文件中读入的功能。
注意:
身份证号码在文本文件中应置于行末,若身份证为空则应在出生年月后留20个空格,因为getline()读取的的是一行!
如下图:
其中学生唯一话没有身份证号,但注意在身份证位置处留18个空。
Save(),其声明为:
voidSave(Stu*&
其功能是将从键盘或文本文件读取的学生信息保存到指定的文本文件中,我指定为:
”AllStu.txt”,注意若在.EXE中直接运行完毕后最好全屏化“AllStu.txt”才能清楚各种数据所代表的信息。
如为全屏时为:
全屏后:
Print(),其声明为voidPrint(Stu*);
其功能为打印一个学生信息,在以后的各种输出函数中都要使用到此函数。
本系统有两大类,五大功能组成。
两大类为从键盘录入学生信息和从文件读入文件数据。
五大功能包括:
学生数据录入、学生信息查询、学生信息的按序输出、信息修改与删除、信息统计和与分析。
在初次使用时,必须先录入学生信息,然后才能执行其他功能,且每次得按所提示的方法退出,否则数据会丢失。
身份证号输入:
输入的身份证号必须是18位,且除第18位校验码(为0--9和X)外全为数字,身份证号前6位必须为合法的行政区划代码,还必须与出生日期匹配),若为空则直接敲hEnter(回车键),进入下一个输入。
准考号:
输入的准考号号必须是14位
姓名输入:
必须为2到5个汉字。
性别输入:
要求必须是一个汉字,男或女。
出生日期输入:
合法日期,3<
年龄<
100,需要与身份证号上相应信息相符,我规定的格式如199006.
各个科目成绩输入:
英语、语文、数学成绩输入范围应该在0-150分之间;
综合科成绩输入范围应该在0-300分之间。
从文件中读入预存的数据,(我所指定的文件为”StuData.txt”,数据已写好,其中第一,三个人身份证为空)按文件中的排序读入,并存入链表中。
特别要注意前面提到的身份证号码的录入问题!
这是本程序设计的不足之处,水平有限,多多指教。
主界面:
1.学生数据录入
按各种提示信息进行学生数据录入,或从键盘或从文本文件。
主要调用:
Insert(),FromFile(),AddStu()三个函数,还有一些检验输入的函数,如CheckName(),CheckChinese(),CheckBirthday()等等。
2.学生信息查询
按提示信息进行学生数据的检索,或按学号,或姓名等等。
Find()函数,注意返回的是一个指针。
3.学生信息的按序输出
按提示信息进行学生数据的按序输出,可按学号,成绩排名等等排序方式。
Sort(),Print(),Display()等函数。
按提示信息进行学生数据的查找之后,在进行学生数据的修改与删除。
主要调用到:
Find(),Delete(),Modify()及输入的各种检验函数(CheckName(),CheckChinese()等等)。
5.信息统计和与分析
包括:
各学生总分、排名,各科平均分,主要调用:
SetTotal(),SetAllaver()等等,注意都是在内部(学生结构体中调用)。
如下图为学生结构体界面:
六总结与体会
通过两个月的折腾,总算把程序设计给完成了,这是一个坚苦而又漫长的过程。
是啊,读了那么多年的书,程序设计可是第一次。
看着劳动成果,很欣慰!
“怎么完成得了啊!
”两个月前前我们这样说,“完成他没问题!
”一个星期前我们这样说,现在我们可以说:
“呵呵,终于完成啦”!
第一次一次性写出这么多代码的程序,第一次熬夜写程序……太多的第一次,在这短短的2个月左右的实践中,虽然编得不是很完善,但不管怎么样,对我来说这就是一个突破。
还记得刚开始时,进展可以用一筹莫展来形容,当时真想放弃,可好强的我最终还是坚持了下来,同时在这两个月中,我明白了人是在与他人交往中认识世界,在交流中不断调整和修正自己的错误,从而使之更全面,更透彻。
整个程序实践设计终于完成了,完成的好辛苦,好艰难,但还是顺利的完成了。
我们付出了很多心血和汗水,但我认为我们得到的更多。
如果没有同学们的互相帮助,这次课程设计就不会这么顺利,这种同舟共济的团队精神深深震撼了我,《礼记学记》上也有讲过:
“独学而无友,则孤漏而寡闻”。
同时有些同学积极的态度让我感到一丝惭愧,他们所体现出的坚持不懈的品质更令我折服。
当然这次程序设计也让我看到了自己基础的薄弱。
在此过程中,我体会到了失败后的失落,同时也体会到了成功后的喜悦,也许在以后的学习生活中我会更加体会到这一点,也明白了集体的智慧是伟大的。
同时,我也清楚地知道21世纪挑战与机遇并存,没有足够的知识储备必将被时代所抛弃。
古人有诗云:
“路漫漫其修远兮,吾将上下而求索”。
从今天起我将不断继续求索,学习之路也好,人生之路也罢。
正所谓:
“有志者,事竟成,破釜沉舟,百二秦关终归楚。
苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
”
首先十分感谢老师给了我们这样一次有意义的实践机会,真的很难得。
谢谢我只想对老师说句:
老师,你辛苦了,谢谢你了!
在这里,我还得谢谢我老大对我的指导帮助,非谢不可的一个人,每次问别人时,他们都只顾忙自己,只抛了一句:
现在没空理你。
只有我老大说:
等一下我就来给你看看。
我很崇拜不仅是因为他编程好,更重要的是他让我明白你帮人一次,别人会一辈子记住你!
虽然说你伤人一次,别人也可以一辈子记住你!
还要感谢同学们对我的帮助,让我明白了团结的力量。
但我更明白:
最主要的还是要靠自己。
好好学习,安顿自己。
C++程序设计教程
CPrimerPlus
C++PrimerPlus
C++实训教程
C语言程序设计案例实践
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高考 学籍 管理 系统 设计 文档