文档详情

课程设计——学生成绩管理系统.doc

发布:2017-09-23约1.19万字共27页下载文档
文本预览下载声明
目录 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
显示全部
相似文档