《VC++程序设计》课程卷二实践考核方案
VC++程序设计
设计说明书
设计题目:学生学习成绩管理程序
姓名:郭达
学号:20090450110
班级: 09计本
指导教师:苏秀芝
完成日期: 2010—6-22
?
目录
第一章系统分析3?
第二章系统设计 (4)
2.1 系统功能分析4?
第三章数据库设计4?
3.1 数据库需求分析4?
3。2 数据库的建立 (3)
3.3创建数据源 ................................................................................................................................. 3
3.4使用MFC AppWizard选择数据源3?
3.5 设计浏览记录界面 (3)
3。6 ODBC数据表绑定更新 (3)
3.7 添加“查询、添加、编辑、删除"功能3?
3.8 菜单栏编辑3?
3。9状态栏设置3?
3。10编译并运行3?
第四章总结 (5)
参考文献6?
学生成绩信息管理系统设计说明书
第一章系统分析
当今时代是飞速发展的信息时代,在各行各业中都离不开信息处理,这正是计算机被广泛应用于管理信息系统的环境.计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.而且只要系统的设计合理,就可以为老师们提供更简单的操作平台来管理复杂的学生成绩,借助数据库管理技术,实现学生管理的规范化和人性化。
相比传统书面记录,网络管理有着以下优点:
◎降低成本:由于管理系统是通过互联网将学生的信息记录到一起,加强各系部与总部的信息交流,大大降低了人力成本、管理成本,使老师能够及时对学生学习中出现的问题进行解决。
◎提高控制力度:管理系统可以加强成绩记录控制,减少人为错误,使每一个学生都可以记录正确,使管理更完善。
◎减少操作误差:记录的自动化管理,可以在业务操作时录入,保证数据的真实性。多种业务单据自动生成和权限控制,减少操作上的人为误差。
◎提高成绩规范化运作水平:实施管理系统,保证统一业务处理模式,规范记录流程,消除不符要求的请求,提高业务效率,使之管理规范化。业务流程化,避免重复抄写和录入,减少失误,提高业务人员工作效率。
◎提升信息交流:管理者和老师及时获取学生的各项真实数据,保证了各老师与学生之间信息交流,提高运作效率.同时,更可与其它系统结合,建立一个统一互动的电子平台,供老师更方便的管理。
◎提供决策支持:管理系统可充分收集成绩信息,加强了对历史数据的利用,为进一步教学计划提供数据基础和决策支持。
总之,伴随着个人电脑的普及和使用电脑人口的增加,网络管理在众多的管理渠道中脱颖而出,其地位及占有量一定会逐渐增加。通过调查,要求系统需要有以下功能:
⑴学生成绩添加
⑵ 课程成绩查询
⑶ 学生成绩修改
⑷ 学生成绩删除
学生成绩信息管理系统的设计思想是利用互联网的便捷借助网络数据技术,建立网络学生成绩信息管理系统软件,实现学生成绩添加课程成绩查询、学生成绩修改、学生成绩删除细腻的网络化管理。
第二章系统设计
2.1 系统功能分析
在本系统中有四种功能:
①增加学生成绩信息:
添加新学生的学号、成绩等信息.
②删除学生成绩信息:
根据条件删除多余的成绩记录。
③查询学生成绩信息:
根据条件查询成绩记录表中的记录.
④修改学生成绩信息:
根据条件修改学生成绩信息。
第三章数据库设计
3.1 数据库需求分析
学生成绩信息管理系统需要建立学生信息数据库,数据库中有学生姓名、学号、成绩、性别、学院、班级。
3.2 数据库的建立
数据库文件名是:Student.
学生成绩信息管理数据库由一个score数据表组成:
3。3创建数据源
Windows中的数据源(ODBC)是出现在系统控制面板的管理器中的,进入ODBC数据源管理器,添加名为“Database Example For VC++”的数据源.
3。4 使用MFC AppWizard选择数据源
用MFC Wizard创建一单文档程序Ex_GUODA,并在向导的第二步对话框中加入数据库的支持,并在DatabaseOptions中选择ODBC的数据源Database Example For VC++.
3.5 设计浏览记录界面
设计控件布局,并修改控件添加属性及成员变量:
3.6 ODBC数据表绑定更新
3.7添加“查询、添加、编辑、删除”功能
添加“查询”控件的消息映射:
void CEx_View::OnButtonQuery()
{
UpdateData();
m_strQuery。TrimLeft();
?if(m_strQuery.IsEmpty())
{
?MessageBox("要查询的学号不能为空!”);
?return;
?}
?if(m_pSet—>IsOpen())
m_pSet—>Close();
m_pSet->m_strFilter。Format(”学号=’%s'",m_strQuery);
?m_pSet-〉m_strSort="学号";
m_pSet—>Open();
if(!m_pSet-〉IsBOF())
??UpdateData(false);
?else
?MessageBox("没有查到您要找的学号记录!”);
}
添加“添加"控件的消息映射:
void CEx_View::OnRecAdd()
{
?CScoreDlg dlg;
if(dlg.DoModal()==IDOK){
?m_pSet->AddNew();
?m_pSet—〉m_column2=dlg.m_strName; ??m_pSet->m_column3=dlg.m_strXingbie; ??m_pSet->m_column4=dlg.m_strStuno;
m_pSet—〉m_column5=dlg。m_strXueyuan; ?m_pSet—〉m_column6=dlg。m_strBanji;
?m_pSet-〉m_column7=dlg。m_strScore;
??m_pSet—〉Update();
??m_pSet—>Requery();
}
}
添加“删除”控件的消息映射:
void CEx_View::OnRecDel()
{
?CRecordsetStatus status;
m_pSet->GetStatus(status);
m_pSet—〉Delete();
?if(status.m_lCurrentRecord==0)
m_pSet->MoveNext();
?else
?m_pSet—>MoveFirst();
?UpdateData(false);
}
添加“修改”控件的消息映射:
voidCEx_View::OnRecEdit()
{
?CScoreDlg dlg;
dlg.m_strName=m_pSet->m_column2;
?dlg。m_strXingbie=m_pSet—〉m_column3;
dlg。m_strStuno=m_pSet-〉m_column4;
dlg.m_strXueyuan=m_pSet->m_column5;
dlg.m_strBanji=m_pSet->m_column6;
dlg.m_strScore=m_pSet—>m_column7;
if(dlg.DoModal()==IDOK)
{
??m_pSet->Edit();
?m_pSet—>m_column2=dlg.m_strName;