学生选课管理系统设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《学生选课系统》课程设计学院信息工程专业网络工程班级 130461 课题名称学生选课管理系统设计
组长学号姓名成绩
组员学号姓名成绩
组员学号姓名成绩
开课时间 2014 至 2015 学年第一学期地点 D509
一、课程设计的目的和要求
本次学生选课管理系统的课程设计,明白整个系统架构,使得自己所学的Microsoft Visual C++ 6.0和Microsoft Access知识的相互结合,加深对数据库的认识,同时又复习了Microsoft Visual C++ 6.0的编写。为以后能够合理的、精确地、独立的完成数据库提供了前提。
数据库运用到数据库建立,建立表以及表与表的连接等等,前台用Microsoft Visual 6.0中MFC工程建立需要的界面与编写界面之间连接代码等。我们想通过本实验解决后台数据库与前台界面连接问题,这也是主要问题所在,只有正确连接才能保证前台用户操作正确的数据,达到数据库中数据资源的共享目的。
本次课程设计开发一套选课系统,由学生选课系统、教师系统和管理员系统三部分组成。
管理员可以通过管理员系统进行管理课程,查看课程选修情况,查看教师授课情况,修改或删除课程或者学生的信息。教师可以通过教师系统进行查看自己教授的的课程,可以进行对学生的评分,以及对自己密码的修改。学生可以通过学生选课系统进行查看备选课程及该课程的信息,选择希望选修的课程,以及对自己密码的修改。
二、设计
2.1本次课程设计建立学生选课管理系统,通过用户名、密码分别进入3个类别系统,分别是教理系统,教师管理系统,学生选课系统,
图2.1 学生管理系统基本图
通过管理员,进入系统界面可以执行以下操作:
通过学生,进入系统界面可以执行以下操作:
图2.4 教师管理系统
数据需求
(1)学生表信息:学号,姓名,性别,院系,班级,密码,年龄。
(2)课程表信息:课程编号,课程名称,学分,学时,开课学期。
(3)选表信息:学号,课程编号,课程名称,姓名,学分,成绩。
(4)教师表信息:教师编号,姓名,性别,密码,课程名称,年龄。
(5)管理员表信息:姓名,编号,密码。
2.2后台数据库与基本表的设计
图2.5 管理员表
图2.9 教师表
教师管理系统
退
出
对
学
生
评
分
查看
班上
学生
信息
查
看
所
教
课
程
图2.6 课程表以及其连接的表
图2.7 选课表
图2.8 学生表以及其连接的表
2.3资源视图设计
建立完MFC工程之后进入前台界面制作,在Microsoft Visual C++ 6.0中界面制作分为三个模块:类视图,资源视图,文件视图。资源视图的设计是前台制作的第一步,资源视图里分为对话框制作与菜单制作,下面就分别介绍:
(1)主菜单设计:学生选课管理系统主菜单分为学生选课与管理员管理两个主菜单。
(2)对话框设计:学生选课管理系统对话框设计为25个,具体见截图:
豆豆学生选课系统教师,学生,管理员登录界面
图2.10 登陆界面
2.4文件视图设计
我们知道Microsoft Visual C++ 6.0编程需要有头文件,界面涉及的头文件更多,在文件视图里我们可以看到学生选课对话框涉及的所有头文件,本次课程设计选课系统头文件有如下:管理员添加学生信息
三、编码
下面是应用程序的部分代码:
(1)登录主界面与管理员操作界面,学生界面,老师界面的连接
#include "stdafx.h"
#include "Student.h"
#include "LogonDialog.h"
#include "AdmDialog.h"
#include "StuDialog.h"
#include "TeacherDialog.h"
CString usernumber;
CString username;
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
///////////////////////////////////////////////////////////////////////////// // CLogonDialog dialog
CLogonDialog::CLogonDialog(CWnd* pParent /*=NULL*/)
: CDialog(CLogonDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CLogonDialog)
// NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT
}
void CLogonDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLogonDialog)
// NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLogonDialog, CDialog)
//{{AFX_MSG_MAP(CLogonDialog)