基于MFC的一个简单应用系统的开发班级基本信息管理系统.docx
《基于MFC的一个简单应用系统的开发班级基本信息管理系统.docx》由会员分享,可在线阅读,更多相关《基于MFC的一个简单应用系统的开发班级基本信息管理系统.docx(61页珍藏版)》请在冰点文库上搜索。
基于MFC的一个简单应用系统的开发班级基本信息管理系统
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
班级基本信息管理系统
一、实验名称:
实验I:
基于MFC的一个简单应用系统的开发示例
二、实验目的:
1、了解MFC软件开发的基本知识
2、掌握MFC中基本控件的使用方法
三、实验器材:
1、计算机
四、实验内容:
说明:
1)此实例适用于有一定C语言基础的对象;
2)所涉及到的系统分析、功能设置、数据结构、模块划分、算法设计等可参考实验H:
小系统开发;
3)建议在开发过程中打开XX,不懂的知识点可随手查看。
开发一个基于对话框的“班级基本信息管理系统”,如下:
1.新建一项目文件,设置如下图:
2.单击“OK”,进入下一步:
选中“Dialogbased”,然后按向导往下做,所有设置取默认值,直到完成为止。
完成后的界面如下:
3.右击对话框空白处,在菜单中选“Properties”,弹出如下界面:
设置其中的Caption为“班级基本信息管理”。
4.将对话框上原有的一个标签(静态文本框)和两个按钮都删除,使之为空白,以备我们全部自行设置内容。
5.给此对话框添加四个标签(静态文本框),逐个右击,在菜单中选“Properties”,在出现的对话框中修改其属性如下表:
序号
属性
内容
备注
1
ID
Caption
IDC_STATIC_XH
学号
2
ID
Caption
IDC_STATIC_XM
姓名
3
ID
Caption
IDC_STATIC_XB
性别
4
ID
Caption
IDC_STATIC_NL
年龄
6.给此对话框添加四个编辑框,逐个右击,在菜单中选“Properties”,在出现的对话框中修改其属性如下表:
序号
属性
内容
备注
1
ID
IDC_EDIT_XH
2
ID
IDC_EDIT_XM
3
ID
IDC_EDIT_XB
4
ID
IDC_EDIT_NL
7.给此对话框添加十一个命令按钮,逐个右击,在菜单中选“Properties”,在出现的对话框中修改其属性如下表:
序号
属性
内容
备注
1
ID
Caption
IDC_BUTTON_SYG
上一个&1
2
ID
Caption
IDC_BUTTON_XYG
下一个&2
3
ID
Caption
IDC_BUTTON_DYG
第一个&3
4
ID
Caption
IDC_BUTTON_MYG
末一个&4
5
ID
Caption
IDC_BUTTON_TJ
添加&5
6
ID
Caption
IDC_BUTTON_XG
修改&6
7
ID
Caption
IDC_BUTTON_QD
确定&7
8
ID
Caption
IDC_BUTTON_QX
取消&8
9
ID
Caption
IDC_BUTTON_SC
删除&9
10
ID
Caption
IDC_BUTTON_CX
查询&Q
11
ID
Caption
IDC_BUTTON_TC
退出&0
整个完成后的运行效果如下图:
8.选中其中的“学号、姓名、性别、年龄”四个编辑框,右击,将其“Disabled”属性选中,如下所示:
9.同样,将“确定”和“取消”两按钮的Disabled属性也选中。
10.编译->连接->运行,效果如下:
11.运行可知,目前只是界面有了,但功能都没有实现,接下来完善功能。
12.双击“退出”按钮,如下图:
13.单击OK,进入代码编辑窗口后键入如下代码(加粗部分为用户键入内容,下同):
voidCClassManageDlg:
:
OnButtonTc()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
EndDialog(NULL);
}
14.在代码编辑窗口的前面添加如下代码(在前面找个适当位置添加即可,注意,不要放在函数内部):
#defineN100//最大人数
structstu_info
{
charxh[15];//学号
charxm[7];//姓名
charxb[3];//性别
intnl;//年龄
};
structstu_infostu[N+1];//用于存放所有人相关信息,0号元素备用
intCurrentCount=0;//当前实际人数
intintWz=0;//用于指示当前位置(元素编号)
boolboolXgOrTj;//标记是修改还是添加,TRUE:
修改FALSE:
添加
15.双击“添加”,进入代码编辑窗口后在相应位置添加如下代码以对“添加”按钮进行响应:
voidCClassManageDlg:
:
OnButtonTj()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CButton*cBtnSyg=(CButton*)GetDlgItem(IDC_BUTTON_SYG);//上一个按钮
CButton*cBtnXyg=(CButton*)GetDlgItem(IDC_BUTTON_XYG);//下一个按钮
CButton*cBtnDyg=(CButton*)GetDlgItem(IDC_BUTTON_DYG);//第一个按钮
CButton*cBtnMyg=(CButton*)GetDlgItem(IDC_BUTTON_MYG);//末一个按钮
CButton*cBtnTj=(CButton*)GetDlgItem(IDC_BUTTON_TJ);//添加按钮
CButton*cBtnXg=(CButton*)GetDlgItem(IDC_BUTTON_XG);//修改按钮
CButton*cBtnQd=(CButton*)GetDlgItem(IDC_BUTTON_QD);//确定按钮
CButton*cBtnQx=(CButton*)GetDlgItem(IDC_BUTTON_QX);//取消按钮
CButton*cBtnSc=(CButton*)GetDlgItem(IDC_BUTTON_SC);//删除按钮
CButton*cBtnCx=(CButton*)GetDlgItem(IDC_BUTTON_CX);//查询按钮
CButton*cBtnTc=(CButton*)GetDlgItem(IDC_BUTTON_TC);//退出按钮
CEdit*cEdtXh=(CEdit*)GetDlgItem(IDC_EDIT_XH);//学号编辑框
CEdit*cEdtXm=(CEdit*)GetDlgItem(IDC_EDIT_XM);//姓名编辑框
CEdit*cEdtXb=(CEdit*)GetDlgItem(IDC_EDIT_XB);//性别编辑框
CEdit*cEdtNl=(CEdit*)GetDlgItem(IDC_EDIT_NL);//年龄编辑框
cBtnSyg->EnableWindow(FALSE);
cBtnXyg->EnableWindow(FALSE);
cBtnDyg->EnableWindow(FALSE);
cBtnMyg->EnableWindow(FALSE);
cBtnTj->EnableWindow(FALSE);
cBtnXg->EnableWindow(FALSE);
cBtnQd->EnableWindow(TRUE);
cBtnQx->EnableWindow(TRUE);
cBtnSc->EnableWindow(FALSE);
cBtnCx->EnableWindow(FALSE);
cBtnTc->EnableWindow(FALSE);
cEdtXh->EnableWindow(TRUE);
cEdtXm->EnableWindow(TRUE);
cEdtXb->EnableWindow(TRUE);
cEdtNl->EnableWindow(TRUE);
cEdtXh->SetFocus();
boolXgOrTj=FALSE;
}
16.双击“修改”,进入代码编辑窗口后在相应位置添加如下代码以对“修改”按钮进行响应:
voidCClassManageDlg:
:
OnButtonXg()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(intWz<1||intWz>CurrentCount)
MessageBox("当前不是有效数据,不能修改!
!
!
","修改信息");
else
{
CButton*cBtnSyg=(CButton*)GetDlgItem(IDC_BUTTON_SYG);//上一个按钮
CButton*cBtnXyg=(CButton*)GetDlgItem(IDC_BUTTON_XYG);//下一个按钮
CButton*cBtnDyg=(CButton*)GetDlgItem(IDC_BUTTON_DYG);//第一个按钮
CButton*cBtnMyg=(CButton*)GetDlgItem(IDC_BUTTON_MYG);//末一个按钮
CButton*cBtnTj=(CButton*)GetDlgItem(IDC_BUTTON_TJ);//添加按钮
CButton*cBtnXg=(CButton*)GetDlgItem(IDC_BUTTON_XG);//修改按钮
CButton*cBtnQd=(CButton*)GetDlgItem(IDC_BUTTON_QD);//确定按钮
CButton*cBtnQx=(CButton*)GetDlgItem(IDC_BUTTON_QX);//取消按钮
CButton*cBtnSc=(CButton*)GetDlgItem(IDC_BUTTON_SC);//删除按钮
CButton*cBtnCx=(CButton*)GetDlgItem(IDC_BUTTON_CX);//查询按钮
CButton*cBtnTc=(CButton*)GetDlgItem(IDC_BUTTON_TC);//退出按钮
CEdit*cEdtXh=(CEdit*)GetDlgItem(IDC_EDIT_XH);//学号编辑框
CEdit*cEdtXm=(CEdit*)GetDlgItem(IDC_EDIT_XM);//姓名编辑框
CEdit*cEdtXb=(CEdit*)GetDlgItem(IDC_EDIT_XB);//性别编辑框
CEdit*cEdtNl=(CEdit*)GetDlgItem(IDC_EDIT_NL);//年龄编辑框
cBtnSyg->EnableWindow(FALSE);
cBtnXyg->EnableWindow(FALSE);
cBtnDyg->EnableWindow(FALSE);
cBtnMyg->EnableWindow(FALSE);
cBtnTj->EnableWindow(FALSE);
cBtnXg->EnableWindow(FALSE);
cBtnQd->EnableWindow(TRUE);
cBtnQx->EnableWindow(TRUE);
cBtnSc->EnableWindow(FALSE);
cBtnCx->EnableWindow(FALSE);
cBtnTc->EnableWindow(FALSE);
cEdtXh->EnableWindow(TRUE);
cEdtXm->EnableWindow(TRUE);
cEdtXb->EnableWindow(TRUE);
cEdtNl->EnableWindow(TRUE);
cEdtXh->SetFocus();
boolXgOrTj=TRUE;
}
}
17.双击“确定”,进入代码编辑窗口后在相应位置添加如下代码以对“确定”按钮进行响应:
voidCClassManageDlg:
:
OnButtonQd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CButton*cBtnSyg=(CButton*)GetDlgItem(IDC_BUTTON_SYG);//上一个按钮
CButton*cBtnXyg=(CButton*)GetDlgItem(IDC_BUTTON_XYG);//下一个按钮
CButton*cBtnDyg=(CButton*)GetDlgItem(IDC_BUTTON_DYG);//第一个按钮
CButton*cBtnMyg=(CButton*)GetDlgItem(IDC_BUTTON_MYG);//末一个按钮
CButton*cBtnTj=(CButton*)GetDlgItem(IDC_BUTTON_TJ);//添加按钮
CButton*cBtnXg=(CButton*)GetDlgItem(IDC_BUTTON_XG);//修改按钮
CButton*cBtnQd=(CButton*)GetDlgItem(IDC_BUTTON_QD);//确定按钮
CButton*cBtnQx=(CButton*)GetDlgItem(IDC_BUTTON_QX);//取消按钮
CButton*cBtnSc=(CButton*)GetDlgItem(IDC_BUTTON_SC);//删除按钮
CButton*cBtnCx=(CButton*)GetDlgItem(IDC_BUTTON_CX);//查询按钮
CButton*cBtnTc=(CButton*)GetDlgItem(IDC_BUTTON_TC);//退出按钮
CEdit*cEdtXh=(CEdit*)GetDlgItem(IDC_EDIT_XH);//学号编辑框
CEdit*cEdtXm=(CEdit*)GetDlgItem(IDC_EDIT_XM);//姓名编辑框
CEdit*cEdtXb=(CEdit*)GetDlgItem(IDC_EDIT_XB);//性别编辑框
CEdit*cEdtNl=(CEdit*)GetDlgItem(IDC_EDIT_NL);//年龄编辑框
cBtnSyg->EnableWindow(TRUE);
cBtnXyg->EnableWindow(TRUE);
cBtnDyg->EnableWindow(TRUE);
cBtnMyg->EnableWindow(TRUE);
cBtnTj->EnableWindow(TRUE);
cBtnXg->EnableWindow(TRUE);
cBtnQd->EnableWindow(FALSE);
cBtnQx->EnableWindow(FALSE);
cBtnSc->EnableWindow(TRUE);
cBtnCx->EnableWindow(TRUE);
cBtnTc->EnableWindow(TRUE);
cEdtXh->EnableWindow(FALSE);
cEdtXm->EnableWindow(FALSE);
cEdtXb->EnableWindow(FALSE);
cEdtNl->EnableWindow(FALSE);
if(boolXgOrTj==FALSE)//属于添加这种情况
{
if(CurrentCount==N)
MessageBox("人数已达上限,不能再添加!
!
!
","添加信息");
else
{