- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 绪论
学生成绩管理系统对学校加强学生成绩管理有着极其重要的作用。由于各个大学都在持续扩招,学生的数量日益庞大,传统手工的学生成绩管理,管理过程繁琐而复杂,执行效率低,并且易于出错。另外,学生的成绩要用于学校教务管理的各个方面,所以一旦学生成绩管理出现了错误,后果往往是非常严重的。通过学习成绩管理系统,我们可以做到信息的规范管理和快速查询。
本次设计的学生成绩管理系统是典型的信息管理系统,它能够高效率地帮助教师上传学生的成绩和最终成绩记录的保存,也方便了学生查询成绩,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。对于前者要求建立起数据一致性高和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备,易使用等特点。
基于学校学生众多,为了数据的安全性,系统将学生数据保存在数据库中,以Visual C++设计前台对系统进行设计。因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。C++作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C++所要实现的功能。
关键词:Visual C++,数据库,学生成绩管理系统
2 设计要求
基于C++的学生成绩管理系统设计
学生成绩管理系统有学号,姓名,成绩等组成;
开发工具有VC++6.0,ACCESS2003,SQL2005等;
主要功能:前台用VC++设计界面,后台用数据库。(1)能完成对学生成绩的录入、修改(2)能统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序(3)能查询学生成绩,不及格科目及学生名单(4)能输出学生的成绩单
3 数据库设计
3.1 概念设计
根据设计要求,要对学生成绩进行操作,所以系统实体属性包括学号,姓名语文成绩,数学成绩,英语成绩。
由以上分析可以得该系统的E-R关系图如图1所示
图1 学生成绩E-R图
3.2 逻辑设计与物理设计
根据概念设计中的E-R图,可设计一个表,其关系模型如下:
学生基本信息表:学号,姓名,语文成绩,数学成绩,英语成绩。
在ACCESS中定义一个表的物理结构如下:
图2 学生成绩表物理结构
3.3 数据库的输入
在ACCESS中定义好物理结构后就可以输入数据,同时根据系统的要求,用ACCESS做了一个查询去求总分和平均分。具体数据如下:
图3 学生成绩表
图4 总分平均分查询
4 程序设计
根据设计要求,本系统是利用VC来开发可视化界面,因此要将程序和数据库进行连接,这要使用ODBC工具将数据库设置数据源,在建立工程时选择数据库查看使用文件支持,在选择数据源时选择自己设置的数据源即可。在主页面,连接平均分总分查询,在主页面对学生成绩操作就非常方便。
主页面如图5所示:
图5 主页面
4.1 查询操作
查询操作的功能是输入学号,点击查询按钮,就可以显示出学生的基本信息。如图6所示:
图6 查询操作
按下查询按钮,调用函数,跳到查询界面,显示各信息。
程序如下:
void CGGView::OnButton2()
{
int flag=1,t=0,tag=0;
m_pSet-MoveFirst( );
UpdateData(TRUE);
while(flag==1)
{
if(m_Sno==m_pSet-m_column2)
{ tag=6 ;
flag=0;
t=0;}
else {t=1;}
m_pSet-MoveNext( );
if( m_pSet-IsEOF( ) ){flag=0;}
};
if(t==1){MessageBox(你输入的学号不存在,学生管理系统, 0 );}
m_pSet-MovePrev( );
Dlg4 dlg; // 工作对话框开始的程序:
if( tag==6 )
{ //(1)将当前记录的各字段值拷贝到对话框的对应成员变量上:
UpdateData(TRUE);//激活对话框控件
dlg.m_Sno = m_pSet-m_column2;
dlg.m_Sn = m_pSet-m_column1;
dlg.m_Cla = m_pSet-m_column3;
dlg.m_C1 = m_pSet-m_column4;
dlg.m_C2 = m
文档评论(0)