1、学籍管理系统学籍管理系统1设计目的VC+程序设计课程设计是计算机科学与技术专业的VC+程序设计课程的综合性实践环节。VC+程序设计是一门实用性很强的学科,是进行软件开发的主要工具,只有进行实际操作,才能将理论知识和实际应用有机的结合起来,锻炼学生分析解决实际问题的能力,提高学生实际运用的能力,为学生毕业设计,日后工作中的软件开发打下良好的基础。2功能描述在对话框中添加控件,用来设置学生姓名、性别、出生日期、民族、学号,并在列表框或组合框中选择专业和年级,并录入成绩,最后将设置好的内容显示在单文档界面上,同时具有保存功能。3方案论证 3.1总体设计3.1.1功能框图 学籍管理系统总体功能框图如下
2、:图1 总体功能框图 3.1.2程序流程图图2 程序设计过程图3.2详细设计3.2.1创建项目 1.创建一个工程项目,名为“学籍管理系统”。2.创建菜单项:创建两个菜单项:其中进入项的ID为ID_ENTER,读取项的ID为ID_READ。3创建对话框 (1)创建欢迎界面对话框,如下所示:图3创建欢迎界面对话框 其中“进入登陆界面”项的ID为ID_OK,“放弃项的”ID为ID_QUIT。为其建立的对框类是CWELDialog。(2)创建录入界面对话框,如下所示:图4创建录入界面对话框各项ID,以及添加的变量如下表所示:(编辑框和列表框名用对应的静态文本名代替)并为其创建对话框类CInfoDial
3、og;表1变量添加表名 称对应ID 添加的变量姓名ID_NAMEm_name 学号 ID_NUM m_num 民族 ID_NATION m_nation 男 ID_SEX m_sex 女 ID_WOMAN 出生日期 ID_BORN m_born 平均成绩 ID_SCORE m_score 专业 ID_SUB m_sub 年级 ID_GRADE m_grade 显示信息 ID_SHOW 保存 ID_SAVE 读取 ID_READ 取消 ID_CANCEL(3)创建读取界面对话框,如下所示:图5创建读取界面对话框各项ID,以及添加的变量如下所示:(编辑框和列表框名用对应的静态文本名代替)并为其创建
4、一对话框类CREADDialog. 表2变量添加表名 称对应ID 添加的变量姓名ID_XINGMINGm_xingming 学号 ID_XUEHAO m_xuehao 民族 ID_MINZU m_minzu 男 ID_NAN m_nan 女 ID_WOMAN 出生日期 ID_RIQI m_riqi 平均成绩 ID_CHENGJI m_chengji 专业 ID_ZHUANYE m_zhuanye 年级 ID_NIANJI m_nianji4.对版权信息进行修改如下:图6对版权信息进行修改3.2.1添加代码(1)在CMyview中添加一CWELDialog类型的变量wlg,和CREADDialo
5、g类的变量rlg,并分别为两个菜单项映射函数。添加如下代码:void CMyView:OnEnter()wlg.DoModal();/ / TODO: Add your command handler code here /void CMyView:OnREAD() rlg. DoModal();(2)在CWELDialog中定义一CInfoDialiog类的变量dlg,同时为欢迎界面的两个按钮映射函数,并添加如下代码:void CWELDialog:OnOK() / TODO: Add extra validation here dlg.DoModal(); CDialog:OnOK();v
6、oid CWELDialog:OnQuit() / TODO: Add your control notification handler code here CDialog:OnOK(); (3)对录入界面的变量进行初始化:BOOL CInfoDialog:OnInitDialog() CDialog:OnInitDialog(); m_name= ; m_num= 000000; m_nation=汉族; m_score= ; m_sex=0; m_born= ; m_sub.AddString(计算机科学); m_sub.AddString(通信工程); m_sub.AddString(
7、电子信息); m_sub.AddString(自动化); m_sub.AddString(汉语言文学); m_sub.AddString(土木工程); m_sub.AddString(历史); m_sub.AddString(藏语物理); m_sub.AddString(阿拉伯语); m_sub.AddString(藏语数学); m_sub.AddString(少数民族语言); m_grade.AddString(大学一年级); m_grade.AddString(大学二年级); m_grade.AddString(大学三年级); m_grade.AddString(大学四年级); Updat
8、eData(FALSE); / TODO: Add extra initialization here return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE (4)对录入界面上的“显示信息”按钮映射消息处理函数。并添加如下代码:void CInfoDialog:OnShow () UpdateData(); CString info; info+=m_name; info+=,; info+=学号是:; info+=
9、m_num; info+=,; info+=民族是n:; info+=m_nation; info+=,; if(m_sex=0) info+=他是个男生n; else info+=她是个女生n; info+=,; info+=出生日期是:; info+=m_born; info+=,; CString temp; int i=m_sub.GetCurSel(); if(i!=-1) m_sub.GetText(i,temp); info+=专业是:n; info+=temp; info+=,; int j=m_grade.GetCurSel(); if(j!=-1) m_grade.GetT
10、ext(j,temp); info+=是+temp+学生; AfxMessageBox(info); / TODO: Add extra validation here (5)对录入界面上的“保存”按钮映射消息处理函数。并添加如下代码: void CInfoDialog:OnSave() / TODO: Add your control notification handler code here CString info; info+=文件已保存; AfxMessageBox(info); (6)对录入界面上的“取消”按钮映射消息处理函数。并添加如下代码: void CInfoDialog:
11、OnRead() CDialog:OnOK(); (7)对读取界面的变量进行赋值,与录入界面进行联系:BOOL CREADDialog:OnInitDialog()m_xingming=rlg.m_name;m_minzu=rlg.m_nation;m_nan=rlg.m_sex;m_nianji=rlg.m_grade;m_riqi=rlg.m_born;m_xingming=rlg.m_name;m_xuehao=rlg.m_num;m_zhuanye=rlg.m_sub;m_chengji=rlg.m_score; return TRUE; / return TRUE unless yo
12、u set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE4运行结果与分析(1) 运行时初始显示界面如图7:图7初始显示界面(2) 点击“学籍管理”菜单项后显示如图8:图8显示“学籍管理”菜单项(3) 点击“学籍管理”下的“进入”菜单显示如图9:图9欢迎界面(4) 点击“欢迎界面”上的“进入登陆界面”按钮,显示如图10:图10进入登陆界面(5) 对初始化的录入界面进行如下所示编辑:图11录入界面(6) 点击“录入界面”的“显示信息”如图12:图12显示信息(7) 点击“录入界面”上的“保存”按
13、钮,显示如图13:图13保存录入信息(8).点击“学籍管理”下的“读取”菜单显示:图14读取菜单(9).点击初始显示界面上的“”按钮,显示如下:图15版权界面5心得体会此次课程设计历时一周,在老师的帮助下,终于得以完成。通过本次设计我对VC+这门课程有了更进一步的了解,也对编程的思想有了更深一次次的掌握。对于如何将简单的实例用编程的形式在电脑上显示出来,这一问题有了新的认识。同时,在此次设计过程中也获得了一些经验。当然,由于水平有限,本次设计中还有许多不尽人意的地方。希望会在以后的学习中找到解决这些不足的方法。6参考文献1 郑阿奇,丁有和.Visual C+教程M.北京:清华大学出版社,201
14、0.3:346-3492 马石安,魏文平.Visual C+程序设计与应用教程题解及课程设计M.北京:清华大学出版社,2009.7:101-2303 郑莉. Visual C+语言程序设计案例教程M.北京:清华大学出版社,2005.7:24-1394 黄明.面向对象程序设计习题详解M.北京:机械工业出版社,2003.9:32-1055黄维通.Visual C+面向对象与可视化设计(第2版)M.北京:清华大学出版社,2003.12:36-1057附录(部分源代码)void CMyView:OnEnter()wlg.DoModal();/ / TODO: Add your command hand
15、ler code here /void CMyView:OnREAD() rlg. DoModal();void CWELDialog:OnOK() / TODO: Add extra validation here dlg.DoModal(); CDialog:OnOK();void CWELDialog:OnQuit() / TODO: Add your control notification handler code here CDialog:OnOK(); BOOL CInfoDialog:OnInitDialog() CDialog:OnInitDialog(); m_name=
16、; m_num= 000000; m_nation=汉族; m_score= ; m_sex=0; m_born= ; m_sub.AddString(计算机科学); m_sub.AddString(通信工程); m_sub.AddString(电子信息); m_sub.AddString(自动化); m_sub.AddString(汉语言文学); m_sub.AddString(土木工程); m_sub.AddString(历史); m_sub.AddString(藏语物理); m_sub.AddString(阿拉伯语); m_sub.AddString(藏语数学); m_sub.AddSt
17、ring(少数民族语言); m_grade.AddString(大学一年级); m_grade.AddString(大学二年级); m_grade.AddString(大学三年级); m_grade.AddString(大学四年级); UpdateData(FALSE); / TODO: Add extra initialization here return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE void CIn
18、foDialog:OnShow () UpdateData(); CString info; info+=m_name; info+=,; info+=学号是:; info+=m_num; info+=,; info+=民族是n:; info+=m_nation; info+=,; if(m_sex=0) info+=他是个男生n; else info+=她是个女生n; info+=,; info+=出生日期是:; info+=m_born; info+=,; CString temp; int i=m_sub.GetCurSel(); if(i!=-1) m_sub.GetText(i,te
19、mp); info+=专业是:n; info+=temp; info+=,; int j=m_grade.GetCurSel(); if(j!=-1) m_grade.GetText(j,temp); info+=是+temp+学生; AfxMessageBox(info); / TODO: Add extra validation here void CInfoDialog:OnSave() / TODO: Add your control notification handler code here CString info; info+=文件已保存; AfxMessageBox(info
20、); void CInfoDialog:OnRead() UpdateData();rlg. DoModal(); void CInfoDialog:OnRead() CDialog:OnOK();BOOL CREADDialog:OnInitDialog()m_xingming=rlg.m_name;m_minzu=rlg.m_nation;m_nan=rlg.m_sex;m_nianji=rlg.m_grade;m_riqi=rlg.m_born;m_xingming=rlg.m_name;m_xuehao=rlg.m_num;m_zhuanye=rlg.m_sub;m_chengji=rlg.m_score; return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1