程序设计
1 / 22
《C++程序设计》课程设计
设计报告
计算机科学与技术学院
程序设计
2 / 22
目录
1.题目要求 ...............................................................................................................................3
2.需求分析 ...............................................................................................................................3
3.概要设计 ...............................................................................................................................3
3.1.类的设计 .......................................................................................................................3
3.2.系统流程的设计 ...........................................................................................................4
3.2.1 主页面的设计 ........................................................................................................4
3.2.2 用户页面的设计 ......................................................................................................5
3.2.3 管理员页面的设计 ..................................................................................................5
3.2.4 用户选课页面设计 ..................................................................................................5
3.2.5 个人中心页面设计 ................................................................................................5
3.2.6 选课管理页面 ........................................................................................................6
3.2.7 用户管理页面 ........................................................................................................6
3.3 功能的设计 ....................................................................................................................7
3.3.1 错误指令 ...............................................................................................................7
3.3.2 返回菜单 ...............................................................................................................8
3.3.3 建立信息文件夹 ....................................................................................................9
3.3.4 密码隐藏 ..............................................................................................................10
3.3.5 生成课程表 .........................................................................................................11
4.1 主页面的流程与分析 ..................................................................................................13
4.2 二级菜单的流程与分析(用户)...............................................................................14
4.2 二级菜单的流程与分析(管理员)...........................................................................15
4.4 三级菜单的流程与分析 ..............................................................................................17
5.程序调试 .............................................................................................................................18
5.1 问题 1 ...........................................................................................................................18
5.2 问题 2 ...........................................................................................................................18
6.用户使用说明 .....................................................................................................................19
7.不足之处 .............................................................................................................................20
8.总结.....................................................................................................................................21
程序设计
3 / 22
1.题目要求
建立一个学生选课系统,根据学生的专业和课程的信息为学生提供选课,
系统有管理员管理选课信息和学生信息。
2.需求分析
2.1 需要一个登录界面,分为用户和管理员,输入管理员的用户名和密码进
入管理员管理界面,输入用户的用户面和密码,进入用户界面;
2.2 在任何一个功能界面,都可以返回登录界面,都可以退出系统;
2.3 当用户输入错误的指令时,系统会提醒用户并可以重新输入;
2.4 管理员可以增加,和删减用户,查看用户的信息;可以管理课程事物(包
括增加和删减课程信息,对课程信息的排序,保存课程信息),可以管
理学生事物(包括查询学生信息),统计学生选课的情况(包括每门课
的人数,每个学生的选课数)
2.5 用户(学生)可以通过该系统进行选课,查看个人信息(已选课程的信
息,个人资料,显示课程表);
2.6 学校的学生人数太多,管理员一个一个输入太费时间,也太累,可以通
过读文件来录入学生信息,建立用户账号;每一个用户的信息都用一个
文件夹来储存;
2.7 课程要求:(1)某位老师可以上多门课,上课时间不能冲突;(2)某位
老师可以上同一门课,课程代码相同,但是上课时间不能冲突(3)多位
老师可以开设同一门课,课程代码不同(4)某位同学不能在同一个学期
选不同老师的同一门课(课程名相同)
3.概要设计
3.1.类的设计
教师基本信息:课程名称,课程代码,教师姓名
课程基本信息:课程名称,课程代码,教师姓名,上课时间,课时,开
课学期,学分
程序设计
4 / 22
专业选修课信息包括:课程名称,课程代码,教师姓名,上课时间,课
时,开课学期,学分,课程性质,所属专业;
公共选修课信息包括:课程名称,课程代码,教师姓名,上课时间,课
时,开课学期,学分,课程性质,面向专业,开课学院。
根据上面的信息,我们知道专业选修课的信息和公开选修课信息是并列
的,选修课的属性包括课程基本信息,课程基本的信息包括教师基本信息。
那么专业选修课类和公开选修课类是课程类的派生类,课程类是教师类的派
生类。
学生选课系统是需要用户登录,所以我们需要一个用户类去记录用户的
信息,还需要一个派生类去整理和处理用户信息。
图例:
3.2.系统流程的设计
3.2.1 主页面的设计
分为用户和管理员登录
Public_class
Teache
r
class
Public_class
Class_time
lesson
派生
派生
派生
组合
组合
组合
主页面
用户页面
管理员页面
程序设计
5 / 22
3.2.2 用户页面的设计
3.2.3 管理员页面的设计
3.2.4 用户选课页面设计
3.2.5 个人中心页面设计
用户页面
个人中心
返回
选课页面
管理员页面
用户管理页面
返回
选课管理页面
用户选课页面
查
看
所
有
课
程
开
始
选
课
返
回
查
询
课
程