学生信息管理系统课程设计报告1.doc
- 文档编号:1320382
- 上传时间:2023-04-30
- 格式:DOC
- 页数:37
- 大小:229.50KB
学生信息管理系统课程设计报告1.doc
《学生信息管理系统课程设计报告1.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统课程设计报告1.doc(37页珍藏版)》请在冰点文库上搜索。
计算机学院信息管理与信息系统专业
《管理信息系统课程设计》报告
(2010/2011学年第一学期)
学生姓名:
学生班级:
学生学号:
指导教师:
2011年1月15日
目录
第一章课程设计的目的和要求.............................................1
1.1C++课程设计的目的...............................................1
1.2C++课程设计的要求........................................2
第二章课程设计任务内容.................................................3
2.1背景............................................................3
2.2功能需求........................................................3
2.3性能要求.................................................4
第三章模块设计说明.....................................................5
3.1模块说明......................................................5
3.2主函数的流程图..................................................6
3.3录入学生信息流程图..............................................7
3.4查询学生信息流程图..............................................8
3.5删除学生信息流程图........................................9
第四章软件使用说明及运行结果..........................................10
4.1使用说明.......................................................10
4.2运行结果......................................................11
第五章课程设计心得与体会..............................................15
附录1参考文献........................................................17
附录2程序清单........................................................18
Ⅰ
程序设计综合课程设计
学生信息管理系统
第一章课程设计的目的和要求
1.1课程设计的目的
本次课程设计主要目的是让我们认识到必须重视实践环节,多读程序,多编写程序,多上机实践。
进一步培养结构化程序设计的思想,加深对高级语言要素和控制结构的理解,培养我们综合运用高级语言程序设计课程所学到的知识,编写C++程序解决实际问题的能力,独立完成有一定工作量的程序设计任务,同时强调良好的程序设计风格。
本次课程设计着眼于知识的运用,把平常学的知识运用到课程设计中来,考察我们知识运用能力,对我们所学的理论知识进一步深化。
通过课程设计的训练,我们应该充分了解程序设计的基本开发过程,掌握编写、调试和测试C++语言程序的基本技巧,充分理解结构化程序设计的基本方法。
本课程设计的目的:
l巩固和加深对C++语言课程的基本知识的理解和掌握;
l掌握C++语言编程和程序调试的基本技能;
l掌握利用C++语言进行软件设计的方法;
l提高书写程序设计说明文档的能力;
l提高运用C++语言解决实际问题的能力。
1.2课程设计的要求
本课程设计基本要求:
l分析课程设计题目的要求;
l所设计的系统应包含简单的输入输出、查询、删除等基本功能。
l编写程序代码,代码量要求不少于300行,调试程序使其能正确运行;
l设计完成的软件要便于操作和使用;
l根据课程设计3周时间的安排选择适当大小的设计课题,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明。
l设计完成后提交课程设计报告。
第二章课程设计任务内容
本次课程设计的主要内容是编写程序学生信息管理系统。
2.1背景
本系统针对高校学生信息的特点以及管理中的弊端而设计,实现了学生信息管理的信息化、减轻了管理人员的工作负担,能够规范、高效地管理大量的学生信息,该系统旨在更好地管理高校的教学和资源的整合,推动科技成果的转化,推进高校改革,提高高校的办学效率。
近几年来,随着各高校办公自动化工作的推进,学生信息管理自动化也被摆上了日程。
在学校工作中占有很大比重的一项就是每学期的学生信息管理工作。
由于教工、教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我们不得不面对的问题。
而人工进行管理不仅任务重,效率低,而且易出错,难于维护,想要排出一张各方面都满意的信息管理表非常困难。
并且随着高校规模的扩大手工管理的难度和工作量呈几何级数增长。
学生信息管理系统正是为了减轻教务人员工作量,实现学校管理科学发展观自动化,解决管理难这一老大难题的教务办公软件。
本系统最大的优点就是学生的所有信息及全部操作完全可以通过各功能模块直接写入后台数据库,操作简单易行,使信息管理流程能够在一个安全可视的环境下运行。
2.2功能需求
用C++实现学生信息管理系统,学生信息包括班级,姓名,学号,性别,籍贯,出生年月,电话,邮箱等。
该系统主要有以下功能:
1、 系统以菜单方式工作;
2、 学生信息录入功能(学生信息用文件保存)--输入;
3、 学生信息浏览功能—输出;
4、 学生信息查询功能—算法;
l按学号查询
l按姓名查询
5、 学生信息的删除与修改。
2.3性能要求
1.系统易操作性
所开发的系统应操作简单,使学生不受电脑水平的限制。
2.系统具有可维护性
由于系统设计的范围较广,数据库中的信息需定期修改,为了使系统运作的更好,可以对系统数据及简单的功能进行简单的维护及调整。
3.该系统能够在开发的硬件系统中运行不会因外部系统的不同面做不同的修改。
第三章模块设计说明
3.1模块
基本信息管理:
基本信息管理模块可以进行学生基本信息的录入、查询、修改、删除等操作
学生信息管理系统
录入学生信息
浏览学生信息
查询学生信息
修改学生信息
删除学生信息
退出程序
按姓名查询修改
按学号查询修改
开
始程序
图1函数功能模块图
3.2主函数流程图
开始
Y
Y
N
执行相应的处理函数
结束
提示保存
Y
有错?
退出?
N
输入菜单
学生信息
录入学生信息
初始化变量
删除学生信息
图2主函数流程图
3.3录入学生信息
录入学生信息模块:
录入学生的学号、姓名、性别、民族、籍贯、出生日期、联系电话等信息。
录入第一条记录后,系统会自动进入下一编号的录入页面,减轻了手工劳动并避免了许多错误的发生。
图3录入学生信息流程图
Y
不用添加
N
结束
添加该学生信息
信息是否存在
输入学生信息
开始
3.4查询学生信息
查询学生信息模块:
可从学号号、姓名或院系三种查询方法任选其一进行查询学生信息。
并且支持模糊查询!
例如:
在编号查询框中输入2009,则查询结果为编号中包含“2009”的学生;在姓名中输入“小”,则查询结果为姓名中包含有“小”的学生;此模块必须先登录后才能使用。
开始
是否存在
结束
N
Y
显示所查询学生信息
输入学生信息
图4查询学生信息流程图
3.5删除学生信N
结束
删除该学生信息
信息是否存在
输入学生信息
开始
息
修改/删除学生信息模块:
首先使用查询功能查询出需要修改/删除的记录,然后进行修改/删除操作。
图5删除学生信息流程图
Yy
第四章软件使用说明及运行结果
4.1使用说明
该程序可以学生信息管理功能,安装VisualC++6.0中文版后,在工具栏“文件”
中单击“新建”选项,单击“文件”菜单,选择“C++Sourcefile”输入文件名“学生信息管理系统”,开始输入程序,程序输入完成,单击“组建”工具栏,待程序无误后,开始执行程序。
界面显示后,按要求首先按所提示键开始进行系统工作。
编码操作完成后,先静态检查一下有没有语法错误,然后进行编译,更深一步检查语法错误。
待编译通过时,运行程序,观察是否能够正常运行,如果有问题,再去修改源程序,直至达到了预期的效果
学生信息管理系统采用面向对象的程序设计思想为基本的设计指导思想。
本系统主要实施目标是帮助学校的学生档案管理人员对学校学生信息进行管理。
本系统优点:
检索迅速、查询方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
本信息管理系统在追求完善的同时达到以下目标:
1)界面友好、易于操作;
2)实现基本信息管理,包括操作员的注册及权限设置,所需基本信息的建立与设置等功能;
3)实现数据库管理,包括数据库的自动创建,备份与恢复。
4.2运行结果
创建学生信息截图一
创建学生信息截图二
从文件导入信息表截图三
删除信息截图四
插入信息截图五
清空屏幕截图六
打印信息截图七
按班级查询截图八
第五章课程设计心得与体会
当被通知要进行三周的课程设计。
当时有点懵,感觉学的东西很少,很零散,不知该怎么弄到一起,就要课程设计,是不是太难为我们了。
第一天基本上都是在看书,把基本知识再熟悉一边。
第一周结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。
但是,到了第二周,我们由不得不再次陷入困境。
在整个程序的编写过程中。
最难的就是修改和删除这两个模块。
开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。
经过一段时间的修改与调试,完成了修改和删除。
这样的话,整个程序基本上全部完成了,就剩下完善工作了。
在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。
一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。
对于学生信息管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。
因此在整个设计过程中大部分时间是用在程序上面的。
很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。
因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。
通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
觉得作为一名计算机专业的学生,这次课程设计是很有意义的。
更重要的是如何把自己平时所学的东西应用到实际中。
虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这三个礼拜的“学习”,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
对于我们来说,积累实战经验是一项极其重要的内容,很可能成为将来就业的敲门砖。
而程序设计综合课程设计就是积累实战经验的一个过程,虽然程序的规模并不大,但能够让我们尽早地认识软件开发的重要性和必要性,为将来的就业打下坚实的基础。
通过对高级语言语言的课程设计,我了解并发现了很多调试程序的方法,而且懂得了如何处理错误的方法。
对C++语言的使用得到了进一步的提高。
针对顺序结构程序,选择结构程序的设计和函数等知识得到了进一步的巩固,具体化就是加深了我对程序的深层理解,清楚程序中每一步的功能,在程序的运行中是十分重要的,一个好的结构在运行中能够充分的发挥程序的功能。
结构设计的合理性决定了这个程序的价值。
在今后的学习中我要注意这方面,使得我的编程能力能有进一步的提高。
这次的课程设让我认识到很多C++的内在要素:
u程序设计语言是程序设计的工具。
这是我通过两周课程设计深深体会的一点,并且发现如果想有效的进行程序设计,正确地应用程序设计语言表达算法,必须准确的运用程序设计语言,掌握其语法知识。
u学习程序设计必须重视时间环节,多读程序,多编写程序,多上机实践。
这次的课程设计就使得课堂教学、式样和实践之间的关系更为紧密。
对我的学习有着很深远的影响。
u我发现作为一个程序设计人员,需要掌握面向过程的程序设计,也要掌握面向对象的程序设计。
从前,人们通过C语言学习面向过程的程序设计,再通过C++学习面向对象的程序设计。
其实C++并不是纯粹的面向对象的语言,它是一种混合语言。
学习C++既可以编写面向过程的程序,也可以编写面向对象的程序。
这一点是我通过可课程设计所的实践发现的。
u深切感受到了C++语法的复杂,内容的繁多。
发现如果对它缺乏系统的了解,将难以真正的运用,编出来的程序错误百出,编译出错,事倍功半。
这次的C++课程设计很快就要结束了,想说的是,这三周实践所学到的东西比我一个学期在教室学到的东西要多得多。
设计中遇到很多难题,都是费了很大劲才解决得,但是所有的努力都没有白费,我的课程设计终于“竣工”了,而且更是从中感受到了一些书本上和课堂上所不能感受到的。
通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C++语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以以后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机。
我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。
附录1:
参考文献
[1]、谭浩强编著:
C++程序设计,北京:
清华大学出版社,2004
[2]、(美)戴特尔(Deitel,H.M.)等编著,张引等译:
C++大学基础教程(第五版),北京:
电子工业出版社,2006.6
[3]、夏云庆编著:
VisualC++6.0数据库高级编程,北京:
希望电子出版社2002
[4]、伍俊良编著:
VisualC++6.0课程设计与系统开发案例,北京:
清华大学出版社,2002.11
[5]、严蔚敏吴伟明编著:
数据结构,北京:
清华大学出版社,2002.6
附录2:
程序清单
以下是学生信息管理系统的源代码:
#include
#include
#include
#include
usingnamespacestd;
#defineNULL0
intn=0;//链表节点数
boolformExist=false;//原有链表是否存在
structStudent
{
stringname;
stringClass;
longnum;
floatscore;
Student*next;
};
//创建链表
Student*create();
//打印信息
voidprint(Student*pt);
//删除节点
Student*del(Student*head,longnum);
//插入节点
Student*insert(Student*head,Student*stu);
//保存到文件
voidsave(Student*head,charfilename[]);
//菜单
voidmenu();
//欢迎
voidwelcome();
//按班级查询
voidinquire(Student*head,stringClass);
//按学号查询
voidinquire(Student*head,longnum);
//求平均成绩
voidaverage(Student*head);
//从文件导入
Student*import(charfilename[],Student*head);
//排序
Student*rank(Student*head);
intmain()
{
Student*head=NULL;
StudentnewStu;
stringClass;
ifstreaminfile;
charfilename[20];
longnum;
charchoose;
boolquit=false;
charc;
welcome();
while(true)
{
menu();
cin>>choose;
switch(choose)
{
case'1':
if(formExist)
{
cout<<"您要创建新的链表,原有链表将丢失,是否继续?
(Y/N)";
cin>>c;
if(!
(c=='y'||c=='Y'))
continue;
else
{
n=0;
head=create();
system("pause");
break;
}
}else
{
head=create();
system("pause");
break;
}
case'2':
cout<<"请输入文件名:
";
cin>>filename;
head=import(filename,head);
system("pause");
break;
case'3':
cout<<"\n您想删除哪个学生的信息?
输入该学生的学号姓名:
"< cin>>num; head=del(head,num); system("pause"); break; case'4': cout<<"请输入新增学生的姓名、班级、学号、成绩、性别、出生年月、电话、 邮箱: "< cin>>newStu.name; cin>>newStu.Class; cin>>newStu.num; cin>>newStu.score; head=insert(head,&newStu); system("pause"); break; case'5': print(head); system("pause"); break; case'6': cout<<"请输入班级: "< cin>>Class; inquire(head,Class); system("pause"); break; case'7': cout<<"请输入学号: "< cin>>num; inquire(head,num); system("pause"); break; case'8': average(head); system("pause"); break; case'9': head=rank(head); system("pause"); break; case'k': cout<<"请输入文件名: "; cin>>filename; save(head,filename); system("pause"); break; case'c': system("cls"); welcome(); break; case'q': quit=true; break; default: cout<<"error"< } if(quit) break; } //退出时提示保存 cout<<"您想保存这些信息吗? (Y/N)"; cin>>c; if(c=='y'||c=='Y') { cout<<"请输入文件名: "; cin>>filename; save(head,filename); } return0; } //欢迎界面 voidwelcome() { cout<<"*******************************"< <<"欢迎使用简易学生信息管理系统! "< <<"程序员: 翟纯洁 时间: 2010-12-31"<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 课程设计 报告