课程设计——学生成绩管理系统.doc
文本预览下载声明
目录
1 设计要求 1
2 数据库设计 1
2.1 概念设计 1
2.2 逻辑设计与物理结构的设计 2
2.3 数据库的输入 2
3 程序设计 4
3.1 学生信息操作 5
3.2 学生成绩操作 14
4 调试报告 26
5 心得体会 26
6 参考文献 26
学生成绩管理系统
1 设计要求
管理信息系统MIS(Management Information System),在强调管理,强调信息的现代社会中越来越得到普及,如:人事管理、学生管理系统、工资管理系统等。常用的MIS系统都是基于数据库操作,实现信息的查询、增加、删除、修改等。
学生成绩管理系统是用AECESS数据库进行数据库的设计和添加数据,在设置数据源(ODBC)建立数据库与程序的连接后,利用VC开发可视化界面完成基于数据库的操作,实现学生信息的查询、增加、删除、修改和成绩信息的查询、增加、删除、修改、排序、统计等功能,从而实现学生成绩信息的多方位显示,方便管理者对学生成绩的管理。
2 数据库设计
2.1 概念设计
根据设计要求,要对学生信息和成绩进行操作,所以系统实体包括学生基本信息表和课程基本信息表。
学生成绩管理系统中它们的联系是一个学生可以选修多门课程,一门课程可以被多个学生选修,学生和课程之间是多对多的关系,。
由以上分析可以得该系统的E-R关系图:
图1 E-R关系图
2.2 逻辑设计与物理结构的设计
根据概念设计中的E-R图,可设计三个表,其关系模型如下:
学生基本信息表:学号,姓名,性别,年龄,系别
课程基本信息表:课程号,课程名,课时
成绩表:学号,课程号,成绩
在ACCESS中定义三个表的物理结构如下:
图2 学生信息表物理结构
图3 课程信息表物理结构
图4 成绩表物理结构
2.3 数据库的输入
在ACCESS中定义好物理结构后就可以输入数据,同时根据系统的要求,用ACCESS做了两个查询,分别是成绩查询和平均分查询,为以后写程序的方便,对平均分查询进行了按平均分从高到低排序操作。具体数据如下:
图5 学生信息表
图6 课程信息表
图7 成绩表
图8 平均分查询
图9 成绩查询
3 程序设计
根据设计要求,本系统是利用VC来开发可视化界面,因此要将程序和数据库进行连接,这要使用ODBC工具将数据库设置数据源,在建立工程时选择数据库查看使用文件支持,在选择数据源时选择自己设置的数据源即可。在主页面,连接学生信息表,在主页面对学生信息表操作就非常方便。主页面如下:
图10 主页面
3.1 学生信息操作
3.1.1 查询操作
查询操作的功能是输入学号,点击查询按钮,就可以显示出学生的基本信息。
图11 查询操作
程序如下:
void CMyView::OnButton1()
{int flag=1,t=0;
m_pSet-MoveFirst( );
UpdateData(TRUE);
while(flag==1){
CString info=\0;
info = 学号:\t + m_pSet-m_sno + \n;
info += 姓名:\t + m_pSet-m_sn + \n;
info += 性别:\t + m_pSet-m_sex + \n;
info += 年龄:\t + m_pSet-m_age + \n;
info += 系别:\t + m_pSet-m_dept + \n;
if(m_Sno==m_pSet-m_sno)
{ MessageBox( info, 查询到的记录如下:,100 );
flag=0;
t=0;}
else {t=1;}
m_pSet-MoveNext( );
if( m_pSet-IsEOF( ) ){flag=0;}
};// TODO: Add your control notification handler code here
if(t==1){MessageBox(你输入的学号不存在,学生管理系统, 0 );
}
3.1.2 添加操作
添加操作是在点击添加按钮后,添加记录窗口跳出,在新窗口输入要添加的记录,点击确定按钮后,如果该学生的信息已存在(以学号判断),则提醒该学生信息已存在,如果添加成功,则跳出添加成功提示。如图:
图12 添加操作
程序如下:
void CMyView::OnButton2()
{
D
显示全部