学生选课系统课程设计报告.docx
- 文档编号:28985538
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:10
- 大小:99.19KB
学生选课系统课程设计报告.docx
《学生选课系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生选课系统课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。
学生选课系统课程设计报告
编号:
B04931053
学号:
201240450133
课程设计
教学院
计算机学院
课程名称
面向对象程序设计课程设计
题目
学生选课系统
专业
软件工程
班级
12软件工程
姓名
张泽坤
同组人员
王天灏、明平耀、徐威鹏、黄文瑞
指导教师
谢晋
2013
年
12
月
15
日
(完成时间)
目录
一概述2
1.课程设计的目的2
2.课程设计的要求2
3.课程设计题目2
二总体方案设计3
1.总体设计3
2.主要功能3
3.我的工作4
三详细设计5
四程序的调试与运行结果说明9
五课程设计总结10
参考文献11
一概述
1.课程设计的目的
1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养综合运用所学知识独立完成课题的能力。
3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
2.课程设计的要求
通过课程设计的实践训练,进一步掌握C++编写软件的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具VC++6.0,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神;
5.要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
6.要求在设计的过程中,建立清晰的类层次;
7.在系统的设计中,至少要用到面向对象的一种机制。
3.课程设计题目
学生选课系统
二总体方案设计
1.总体设计
2.主要功能
该系统的主要功能是做一个学生端选课系统,整体比较简单。
系统中只有一种用户那就是学生,学生的信息事先已存在文件中,初始密码是他的学号。
课程信息也在事先存在文件中,当要选课时从文件读出信息。
选课后修改信息存入文件。
基本完成学生选课功能,其中文件模拟数据库。
3.我的工作
我的工作主要是定义Student类和它的成员函数已经和它输入输出相关的运算符重载。
首先我在定义student类时把section类定义为友元类以方便整个程序的运行和类间的调用。
同时就将学生入口菜单函数也设为友元函数方便调用学生的信息,比如密码。
之后是两个输出输入流运算符重载函数设为友元类。
类中公有部分包括析构和构造函数,检查密码在正误和学号有无的俩个bool类型函数。
私有数据成员包括学生的基本信息和学分信息,选课信息。
运算符重载中用到了课外的查阅的容器,结合课内所学知识对文件操作。
三详细设计
主菜单流程图:
1.界面设计
界面图示
菜单选择:
1.开始选课
2.修改密码
3.取消已选课程
4.查看已选课程
5.退出系统,并保存相关记录到文件里
2.开始选课
选课图示
菜单选择:
进入选课后弹出所有课程信息包括名称,任课老师,人数,时间等。
输入相应数字选择相应课程。
3.修改密码
修改密码图示
当菜单选择为2时进入修改密码,输入原密码确认后输入新密码修改成功,若原密码错误则修改失败。
4.取消已选课程
取消课程图示
当选择菜单3弹出已选课程列表菜单,继续选择相应取消课程则可取消已选修课程。
若选修失败,则弹出提示。
5.查看已选课程
查看已选课程图书
选择菜单4可查看已选课程然后弹出已选课程。
四程序的调试与运行结果说明
程序中出现的问题:
1.从文件读入记录到程序里,但一条记录有不同字段,分别要录入不同的变量里,最后用SWITCH分别进行输出判断。
2.程序结束时,要把记录重新读入到文件里,我想我用的类创建的,程序结束时,自动调用析构函数,没具体弄清析构函数其它用法,就把读出到文件的操作放在析构函数里面,导致文件里的数据在退出程序时被清空。
后经过老师反复给我调试,终于清楚问题所在。
我就把读入文件的操作单独放在一个函数里,退出再调用。
3.在主函数调用菜单,我先用的VOID类型,后来调用时发现不行,我要输入的操作不能执行,就改成CHAR返回类型,判断其选择的什么。
4.再执行删除信息操作时,我的思路受到阻碍,不知道怎么删除记录,如果让删除的记录都清为零,但那条记录依然存在,只不过是全为零,所以后来我想到让后面的记录一条条覆盖前面的记录,也算是删除记录,虽然最后一条记录在数组中实际上这样就存在两条,但我让成员变量控制记录个数,所以进行输出时根本不会输出最后那条重复的记录。
程序的不足:
1.程序设计中没有课程信息的修改,也没有管理员入口是最大的不足。
2.程序整体不够强大,只要学号出入有误就会无限循环。
3.缺少对输入选择,和学号的全面检查和格式控制。
程序的功能:
程序的功能就是学生选课,对于学生来说已基本实现。
进一步设想:
假如管理员入口以及对课程信息的修改等等,加强对输入的控制和检查,加入数据库知识用作为学生后台。
五课程设计总结
1.通过这次学生选课系统设计,以C++语言为基础编写,更让
我掌握到C++语言中相关语句的运用。
2.在Visual C++6.0环境下编写,我觉得,从文件中读入数据十分麻烦,没有在数据库中读入数据这么轻松,如果我要用到两个表中的记录,非常麻烦。
3.整个设计过程过后,我也基本掌握了设计的基本步骤。
为我们以后做毕业论文也有很好的帮助。
4.C++是非常好的系统编程的语言,但不能以此独立,但用C++语言是做不出好的系统,还是要和其它软件结合,以C++为基础编写系统,这样做出来的系统也更好,更美观。
5.这次系统设计有很的不足之处,在这过程中也认识到自己对C++也有很多的没掌握的地方。
但在老师和同学的帮助下,也算弄出了一个简单的系统,在以后也要更加努力学习。
参考文献
[1]谭浩强,C程序设计题解与上机指导(第二版),北京,清华大学出版社,2000年9月。
[2]谭浩强,C++面向对象程序设计,北京,清华大学出版社,2006
[3]王为青等,《C语言高级编程及实例剖析》,北京,人民邮电出版社2007.3
[4]向艳等,《C语言程序设计》北京:
清华大学出版社2008.9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 系统 课程设计 报告