ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:294.19KB ,
资源ID:10577910      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10577910.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MFC毕业课程设计实验报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MFC毕业课程设计实验报告.docx

1、MFC毕业课程设计实验报告(此文档为word格式,下载后您可任意编辑修改!)课程设计任务书 2课程设计题目1:设计一个简单的学生信息管理应用程序 2一、设计目标与内容: 2二、设计要求: 2三、基本思路 3四、主要步骤 3五、设计心得 24六、参考文献 25课程设计题目3:设计一个简单的计算器应用程序 25一、设计目标与内容: 25二、设计要求: 25三、基本思路 25四、基本步骤 26五、设计心得 31六、参考文献 32课程设计任务书课程设计题目1:设计一个简单的学生信息管理应用程序一、设计目标与内容:1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2.基本掌握面向对象

2、程序设计的基本思路和方法;3.掌握用VC+开发应用程序的的一般步骤和方法;4.能够利用所学的基本知识, 设计一个简单的学生信息管理应用程序,具有以下功能:实现学生信息的存储,可以用文件来实现。编程实现学生信息的添加、删除、修改、浏览和查询等功能(必须实现的功能)。二、设计要求:1.用VC进行编码,实现应用程序的功能。注重编码质量,代码要有适当的注释;2.采用单文档多视图方式,左边为树视图,右边为列表视图,左边一级节点为中原工学院,二级节点为计算机学院和软件学院,三级节点为计算机学院的三个专业。要求可以动态增加节点。楼便为列表视图,包含学生的学号、性别、姓名各科成绩等。右边也可以实现动态增加3当

3、选中节点时,显示对应的学生信息。如当选中”中原工学院”时选中所用的学生信息,选中“计算机学院”时,显示所有计算机学院学生信息4采用序列化方式保存和读取学生信息;提交设计报告一份(课程设计任务书、目录、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献)。提示: 1、读文件时动态构造右边树视图方法,先构造根节点中原工学院, 2、序列读取学生信息到一个数组,遍历数组,如果右边树视图中有该节点的信息则不增加,没有则增加该节点,如有学生姓名为张三 计算机学院 网络工程系学生,二右边没有计算机学院节点时,在“中原工学院”节点下构造“计算机学院”节点,以及“网络工程系三、基本思路 建立一个当文档的应

4、用程序,在第六步将视图的基类选择为CTreeList,然后再建立一个新的类listView,用来输出学生的基本信息,然后添加一个切分窗口的函数OnCreateClient用来切分窗口,不添加相应的控件来实现学生信息的操作,通过完善学生信息类的功能慢慢实现程序的运行,然后添加一个序列化类CStudentInfo来实现信息的读取与保存,最后添加一个新的查找的对话框用来查找、删除、查询学生信息的一个中介,通过姓名来实现学生信息的功能。四、主要步骤 1、新建工程:用MFC AppWizard(exe)创建一个单文档的应用程序StudentCheck。在第六步中将视图的基类选择为。2、1添加一个基于Li

5、stView类的新的类listView、用于显示学生信息2、2为CMainFrame添加一个切分窗口的映射函数OnCreateClient并添加一个切分窗口的函数成员CSplitterWnd m_wndSplitter;然后添加下列代码: CRect rect; GetClientRect(&rect); CSize paneSize(rect.Width()3,rect.Height(); m_wndSplitter.CreateStatic(this,1,2); m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CStudentCheckView),pa

6、neSize,pContext); m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(listView),CSize(0,0),pContext); return true; 2、4创建一个CstuInfoDlg对话框2、5添加下列控件并为上面控件添加变量在WorkSpace中进入ClassView视图,为CStuInfoDlg类添加一个BOOL型的成员变量m_bMale,并在CStuInfoDlg类设置该变量的初始值,添加代码如下:StuInfoDlg:StuInfoDlg(CWnd* pParent *=NULL*) : CDialog(StuInfoD

7、lg:IDD, pParent) m_bMale=FALSE; AFX_DATA_INIT(StuInfoDlg) m_strSpecial = _T(); m_tBirth = 0; m_strMath = 0; m_strName = _T(); m_strNO = _T(); m_strAcademy = _T(); AFX_DATA_INIT用MFC ClassWizard为CStuInfoDlg类添加WM_INITDIALOG消息映射,并添加下列初始化代码: if(!m_bMale) CheckRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE,I

8、DC_RADIO_FEMALE); else CheckRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE,IDC_RADIO_MALE);对专业组合框进行初始化 m_comboSpecial.AddString(网络工程); m_comboSpecial.AddString(软件工程); m_comboSpecial.AddString(计算机科学); m_comboSpecial.AddString(服装设计); m_comboSpecial.AddString(服装表演); m_comboSpecial.AddString(艺术设计); m_strSp

9、ecial=网络工程; m_comboAcademy.AddString(计算机学院); m_comboAcademy.AddString(服装学院); m_strAcademy=计算机学院; m_tBirth=CTime(0,0); m_strMath=80; UpdateData(FALSE);将信息显示在控件中2、6用MFC ClassWizard为单选按钮IDC_RADIO_MALE添加BN_CLICKED的消息映射,并添加下列初始代码: m_bMale=TRUE;用MFC ClassWizard为单选按钮IDC_RADIO_FEMALE添加BN_CLICKED的消息映射,并添加下列初

10、始代码: m_bMale=FALSE;用MFC ClassWizard为单选按钮IDOK添加BN_CLICKED的消息映射,并添加下列初始代码: UpdateData(); m_strName.TrimLeft();将字符串最前面的空格修整掉 m_strNO.TrimLeft(); if(m_strName.IsEmpty() MessageBox(必须要有姓名!); else if(m_strNO.IsEmpty() MessageBox(必须要有学号!); Else3、1用MFC ClassWizard为CStudentCheckView类添加NM_CLICK消息映射通过映射来在列表视图显

11、示学生信息。并添加下列初始化代码:CPoint point; UINT uFlags; :GetCursorPos(&point);该函数检取光标的位置,以屏幕坐标表示 CTreeCtrl& m_TreeCtrl = GetTreeCtrl(); m_TreeCtrl.ScreenToClient(&point); HTREEITEM =0;nm_stuObArray.GetAt(n);调取m_stuObArray中储存的第n个对象信息 CString str=stu-strSpecial;得到该学生的专业信息 CString dlg=stu-strAcademy;得到该学生的学院信息 POS

12、ITION pos=GetDocument()-GetFirstViewPosition(); GetDocument()-GetNextView(pos); listView *list=(listView*)GetDocument()-GetNextView(pos);定义一个指向列表视图类的指针 if(n=0) list-GetListCtrl().DeleteAllItems();删除全部列表项 if(strItem=str|strItem=dlg|strItem=中原工学院) list-Onprint(stu);把息输信入到列表中 3、2然后为CStudentCheckView添加一

13、个void类型的成员函数CreateTree()函数,用来动态添加学生信息并添加下列初始代码: CTreeCtrl& m_TreeCtrl = GetTreeCtrl(); m_TreeCtrl.DeleteAllItems(); HTREEITEM =0;nm_stuObArray.GetAt(n); CString str1=stu-strAcademy; CString str2=stu-strSpecial; if(!m_TreeCtrl.ItemHasChildren(nCol,strHeadernCol,LVCFMT_LEFT,nWidthnCol);5、1建立序列化类CStude

14、ntInfo用来保存学生信息,添加CC+ Header File,并添加下列初始代码:class CStudentInfo:public CObjectpublic: CString strName; CString strNO; BOOL bMale; CTime tBirth; int strMath; CString strSpecial; CString strAcademy; DECLARE_SERIAL(CStudentInfo)public: CStudentInfo(); CStudentInfo(CString name,CString id,BOOL male,CTime

15、birth,int math,CString special,CString academy); void Serialize(CArchive &ar);5、2添加CC+ Source File,并添加下列初始代码:#include stdafx.;判断学生信息是不是已经添加 CStudentInfo*pStudent=new CStudentInfo(dlg.m_strName,dlg.m_strNO,dlg.m_bMale,dlg.m_tBirth, dlg.m_strMath,dlg.m_strAcademy,dlg.m_strSpecial); m_stuObArray.Add(pS

16、tudent); POSITION pos=GetFirstViewPosition(); CStudentCheckView *stu=(CStudentCheckView*)GetNextView(pos); stu-CreateTree(); SetModifiedFlag(); 设置文档更改标志 UpdateAllViews(NULL); 更新视图 void CStudentCheckDoc:OnSTUINFODEl() 删除学生信息 Find dlg; if(dlg.DoModal()!=IDOK)return; int i=m_stuObArray.GetSize(); for(i

17、nt n=0;nstrName=dlg.m_name) delete m_stuObArray.GetAt(n); m_stuObArray.RemoveAt(n,1); SetModifiedFlag(); 设置文档更改标志 UpdateAllViews(NULL); 更新视图 void CStudentCheckDoc:OnStuinfoFind() 查找学生信息 Find dlg; if(dlg.DoModal()!=IDOK)return; int i=m_stuObArray.GetSize(); if(i=0) AfxMessageBox(无学生信息); else for(int

18、n=0;nstrName=dlg.m_name) *POSITION pos=GetFirstViewPosition(); GetNextView(pos); listView *list=(listView*)GetNextView(pos); CListCtrl& m_list=list-GetListCtrl(); m_list.DeleteAllItems(); list-Onprint(stu); flag=FALSE;* CString strRes,strSex(女); CString str;理解 str.Format(%d,stu-strMath); if(stu-bMal

19、e) strSex=男; strRes.Format(姓名: %s,n学号:%s,n性别: %s,n出生年月: %s,n学院:%s,n专业:%s,n数学成绩:%s, stu-strName,stu-strNO,strSex, stu-tBirth.Format(%Y-%m-%d),stu-strAcademy,stu-strSpecial,str); AfxMessageBox(strRes); 判断是否找到void CStudentCheckDoc:OnStuinfoXiugai() 修改学生信息 Find dlg; StuInfoDlg dl; BOOL flag=TRUE; if(dlg

20、.DoModal()!=IDOK)return; int i=m_stuObArray.GetSize(); if(i=0) AfxMessageBox(无学生信息); else for(int n=0;nstrName=dlg.m_name) dl.m_strName=stu-strName; dl.m_strNO=stu-strNO; dl.m_bMale=stu-bMale; dl.m_tBirth=stu-tBirth; dl.m_strMath=stu-strMath; dl.m_strAcademy=stu-strAcademy; dl.m_strSpecial=stu-strSp

21、ecial; dl.DoModal();此成员函数用来显示一个模态对话框Dialog2 stu-strName=dl.m_strName; stu-strNO=dl.m_strNO; stu-bMale=dl.m_bMale; stu-tBirth=dl.m_tBirth; dl.m_strMath=stu-strMath; stu-strAcademy=dl.m_strAcademy; stu-strSpecial=dl.m_strSpecial; flag=FALSE; SetModifiedFlag(); 设置文档更改标志 UpdateAllViews(NULL); 更新视图 if(fl

22、ag) AfxMessageBox(无此学生信息);7、1添加一个新的对话框Find,通过调用该该对话框来实现删除、修改、浏览学生信息:并添加下列控件:添加Find类的映射BN_CLICKED并为该编辑框添加控件变量运行程序实现改程序的功能五、设计心得1、通过这次课程设计,是我对MFC有了更进一步的了解,对消息的机制有了更深刻的认识,对MFC中的应用结构类、菜单类、窗口以及对话框和控件有了更深刻的认识。2、也对上学期学习的VC+进行了复习,是我对上学期学期的有了更进一步的了解和熟悉,对编程能力有了进一步的提升。3、合理的规划和设计页面对编程者是十分重要的。一个好的程序也学要便捷的操作和美观的界

23、面,人性化设计需要我们更加细心的去设计和美化程序。4、虽然在MFC课程设计是遇到了这样和那样的问题,通过我自己和同学的帮助,还有参考数的帮助,这次课程设计是我收获很多,不仅对编程有了更进一步的了解,同时也看到了我自己编程能力的不足和与班级学习MFC好的同学之间的差距,需要进一步努力、才能不被他们抛的更远。六、参考文献1Visual C+ 教程 清华大学出版社2CC+程序设计教程 电子工业出版社3 Visual C+程序设计与实践课程设计任务书课程设计题目3:设计一个简单的计算器应用程序一、设计目标与内容:1 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2 基本掌握面向对象程

24、序设计的基本思路和方法;3 掌握用VC+开发应用程序的的一般步骤和方法;4 能够利用所学的基本知识,设计一个简单的计算器应用程序,实现基本的加、减、乘、除、求平方根,求倒数等基本运算(必须实现的功能),实现求角度的正弦、余弦、正切等基本运算、实现求指数、自然对数、常用对数等基本运算(这部分功能选做)。5 在程序中注意处理数据和运算符的输入,计算结果的显示。二、设计要求:1 用VC进行编码,实现应用程序的功能。注重编码质量,代码要有适当的注释;2 提交设计报告一份(课程设计任务书、目录、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献)。三、基本思路1、建立一个当文档的应用程序CSimp

25、leCalcDlg,添加一个对话框,然后添加控件。并添加相应的按钮,通过点击来实现相应的功能。四、基本步骤1. 新建项目:建立一个默认的当文档的应用程序2. 定制界面:(1) 修改MFC AppWizard自动创建的对话框项目模板。删除模板上自动创建的三个控件。(2) 加入“请输入数据:”、“结果”两个静态文本框和相应的2个编辑框。(3) 加入三个Group Box,标题修改为“请选择运算符:”、“二元运算”、“一元运算”,并向请“选择运算符”其中放入8个Radio Button将标题分别改为“+”、“-”、“*”、“”、“求倒”、“1n”、“sin”、“lg”。(4) 继续用鼠标从工具箱中向

26、对话框添加和3个按钮控件,更改按钮的标题为“计算”、“清除”、“关闭”。3. 添加变量本例中用到以下4个CSimpleCalcDlg类的成员变量:变量类型名称floatm_N1floatm_N2floatm_ ResultcharOperator用ClassWizard为编辑框添加变量:m_N1, m_N2, m_Result变量char Operator的添加方法:在WorkSpace中进入ClassView视图, 鼠标右键单击CSimpleCalcDlg, 在菜单中选择“Add Member Variable”然后在弹出的对话框的输入变量类型和名称:4. 添加消息映射用ClassWizar

27、d为按钮控件添加消息映射:继续用ClassWizard为Radio Button控件添加消息映射:5. 加入单击按钮时的事件响应代码在实现文件(cpp文件)中加入单击按钮时的事件响应代码。(双击一个按钮可直接进入函数编辑)选择运算符void CSimpleCalcDlg:OnRadio1() Operator=+; void CSimpleCalcDlg:OnRadio2() Operator=-;void CSimpleCalcDlg:OnRadio3() Operator=*; void CSimpleCalcDlg:OnRadio4() Operator=;void CSimpleCal

28、cDlg:OnRadio5() Operator=;void CSimpleCalcDlg:OnRadio6() Operator=d; void CSimpleCalcDlg:OnRadio7() Operator=s; void CSimpleCalcDlg:OnRadio8() Operator=l;void CSimpleCalcDlg:OnButton1() UpdateData(); switch(Operator) case +:m_Result=m_N1+m_N2;break;加法运算 case -:m_Result=m_N1-m_N2;break;减法运算 case *:m_Result=m_N1*m_N2; break;乘法运算 case : if(m_N2 = 0 ) MessageBox(除数不能为零!);除法运算 else m_Result = m_N1m_N2; break; case :m_Result=sqrt(m_N1)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1