VC实训实验报告书.doc_第1页
VC实训实验报告书.doc_第2页
VC实训实验报告书.doc_第3页
VC实训实验报告书.doc_第4页
VC实训实验报告书.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实训报告电气信息学院实训报告课 程 名 称: 软件项目实训 实 训 题 目: 个人信息获取 年级/专业/班: 过程自动化 学 生 姓 名: 学 号: 实训成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5) 报告撰写质量(45)总 分(100)指导教师签名: 年 月 日实训时间6.11-6.24地点L4B305实训学时2周实训 目的 提高面向对象的可视化编程能力提高合作协调能力掌握Visual C+可视化程序界面设计的基本方法实训内容 题目概述:我所做的题目为“个人信息获取系统”,在对话框界面上填写个人的相关信息,填写完毕后可以在特定区域显示所填写的个人信息。编程实现功能简介:“个人信息获取系统”可以在对话框界面上填写个人的相关信息,填写完毕后,可以通过特定的按键获取填写的个人信息。该系统可以用于个人的电子档案管理,或者略作改变后,可以应用于在线问卷调查或者在线考试和测试系统。例如:某协会需要整理各个入会会员的个人信息,给出了这个对话框类型的电子表格,要求会员们在话框上填写自己的姓名、年龄、性别、籍贯、学历、出生日期、爱好等信息,填写完毕后由特定的按键即可获取会员们各自填写的信息。要求编程程序实现如下功能:1)信息录入:按对话框上面的要求填写会员各自的相关的信息;2)获取信息:点击特定的按键获取填写的信息。实训分工安排本程序由个人单独完成实训要求 完成后汇总进行统一测试与更正使用Visual C+6.0实现用户界面使用实训室及 主要设施设备 方正电脑实 训 成 果 1 完成了此次实训内容2 完成了实训报告3 提高了自己的合作能力以及编程能力,磨练了自己的耐心。1 引言 1.1系统概述我所做的题目为“个人信息获取系统”,在对话框界面上填写个人的相关信息,填写完毕后可以在特定区域显示所填写的个人信息,个人信息包括姓名、籍贯、现居住地、性别、民族、学历、宗教信仰、国籍、出生年月日、年龄等。1.2 需求分析 “个人信息获取系统”可以在对话框界面上填写个人的相关信息,填写完毕后,可以通过特定的按键获取填写的个人信息。该系统可以用于个人的电子档案管理,或者略作改变后,可以应用于在线问卷调查或者在线考试和测试系统。例如,申请贷款填写个人信息时,可以先在类似这个“个人信息获取系统”的对话框上填写贷款人的相关信息,然后通过特定的按键从系统中导出所填写的个人信息表并打印。用于问卷调查时,可以将问题都预先设定在对话框界面上,填写完毕后,由工作人员在后台获取并统计调查结果。用于在线测试时,与问卷调查类似,即可将试题预先写在对话框界面上,答题者答完后由批阅者在后台获取考生答案并进行评分。由于在线问卷调查系统和在线测试系统在编程实现统计和评分功能时,需要考虑各个题目或者选项之间的关联,这使得后台程序代码量太多,比较繁琐,但其实现原理与个人信息获取系统一样,故本次实训我仅选取了个人信息获取系统作为代表。1.3 运行环境本次实训使用Visual C+ 6.0 软件,故要求操作系统要与该软件兼容,故可在WindowsXP系统下运行。 2 概要设计2.1 设计思路 设计个人信息获取系统时,建立对话框,然后使用相应的控件及其之间的消息映射来实现各信息的获取。添加控件时,姓名、籍贯、现居住地等信息使用静态编辑框控件,性别、宗教、国籍、学历等信息使用单选按钮控件,出生日期、年龄、民族、血型等信息使用组合框控件,爱好使用复选按钮控件,获取结果使用按钮控件,获取的消息映射在编辑框内。添加完各个控件后,设置各个控件的属性及其关联变量并添加各个控件的消息响应函数,最后编译、连接、运行并观察和分析运行结果。2.2 模块功能介绍 个人信息获取系统根据各个控件消息响应函数的类型可以分为如下几个模块:静态编辑框模块、单选按钮模块、组合框模块、复选按钮模块和按钮模块。其中,静态编辑框模块用于获取姓名、籍贯、现居住地等信息并将这些信息映射到显示获取结果的编辑框内,单选按钮模块用于各个单选按钮的初始化,组合框模块用于获取各个选项,复选按钮模块用于设置其选中与否的标志,按钮模块用于触发并获取对话框中填写的个人信息或退出系统。2.3 模块结构图 单选按钮 初始化后由用户改变其选项 单 选 编辑框复选按钮 根据标志显示选中与否 按 钮 显示各个模块的信息组合框 获取各个选项 触 发 以便后台方查询静态编辑框 填写相关信息2.4 程序流程图 定义的各变量及编辑框内显示内容初始化 单选按钮初始化复选按钮选中与否标志设置“获取结果”按钮触发消息响应函数编辑框显示结果 结束2.5 功能设计分工 由于本班人数为单数,不能保证整个班里的人都是两人一组,故本次设计各个模块均由我一人完成,无分工细则。3详细设计3.1设计步骤 1.启动VisualC+6.0,利用MFC向导建立一个基于对话框的应用程序:ButtonTest。 2.在控制工具条上依次将静态组框控件、静态编辑框控件、单选控件、组合框控件、复选控件 拖入对话框界面上合适的位置,原界面上默认的“取消”标题改为“退出”,利用属性对话框将“确认”按钮改为“获取结果”,ID号改为ID_BUTTONSHOW,设置各个控件的属性并添加各个控件的成员变量,如图:3.双击对话框模版界面上每一个复选按钮,打开类向导页面添加每个复选按钮的消息响应函数。如图:添加消息响应函数:添加的代码如下:/复选按钮选中与否逻辑值设置,选中逻辑值为TRUE,否则逻辑值为FALSE。void CButtonTestDlg:OnCheck1() if(m_A1) m_A1=false; else m_A1=true;/ “喜欢的球类运动”选项m_A1- m_A6选中与否标志设/选中为TRUE,没选中为FALSRvoid CButtonTestDlg:OnCheck2() if(m_A2) m_A2=false; else m_A2=true;void CButtonTestDlg:OnCheck3() if(m_A3) m_A3=false; else m_A3=true; void CButtonTestDlg:OnCheck4() if(m_A4) m_A4=false; else m_A4=true; void CButtonTestDlg:OnCheck20() if(m_A5) m_A5=false; else m_A5=true; void CButtonTestDlg:OnCheck21() if(m_A6) m_A6=false; else m_A6=true; void CButtonTestDlg:OnCheck5() if(m_B1) m_B1=false; else m_B1=true;/ “喜欢的水果”选项m_B1- m_B6选中与否标志设/选中为TRUE,没选中为FALSRvoid CButtonTestDlg:OnCheck6() if(m_B2) m_B2=false; else m_B2=true; void CButtonTestDlg:OnCheck7() if(m_B3) m_B3=false; else m_B3=true; void CButtonTestDlg:OnCheck8() if(m_B4) m_B4=false; else m_B4=true; void CButtonTestDlg:OnCheck9() if(m_B5) m_B5=false; else m_B5=true; void CButtonTestDlg:OnCheck22() if(m_B6) m_B6=false; else m_B6=true; void CButtonTestDlg:OnCheck11() if(m_C1) m_C1=false; else m_C1=true;/“喜欢的颜色”选项m_C1- m_C9选中与否标志设/选中为TRUE,没选中为FALSRvoid CButtonTestDlg:OnCheck12() if(m_C2) m_C2=false; else m_C2=true; void CButtonTestDlg:OnCheck13() if(m_C3) m_C3=false; else m_C3=true; void CButtonTestDlg:OnCheck14() if(m_C4) m_C4=false; else m_C4=true; void CButtonTestDlg:OnCheck15() if(m_C5) m_C5=false; else m_C5=true; void CButtonTestDlg:OnCheck16() if(m_C6) m_C6=false; else m_C6=true; void CButtonTestDlg:OnCheck17() if(m_C7) m_C7=false; else m_C7=true; void CButtonTestDlg:OnCheck18() if(m_C8) m_C8=false; else m_C8=true; void CButtonTestDlg:OnCheck19() if(m_C9) m_C9=false; else m_C9=true; 4. 对单选按钮控件进行初始化。将项目工作区窗口切换到ClassView页面,双击CButtonTestDlg类下的OnInitDialog()函数,添加代码如下:BOOL CButtonTestDlg:OnInitDialog()CDialog:OnInitDialog();CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO1);/设置第1个为选中CheckRadioButton(IDC_RADIO5,IDC_RADIO6,IDC_RADIO5);/设置第5个为选中CheckRadioButton(IDC_RADIO7,IDC_RADIO20,IDC_RADIO7);/设置第7个为选中CheckRadioButton(IDC_RADIO21,IDC_RADIO27,IDC_RADIO27);/设置第27个为选中 CheckRadioButton(IDC_RADIO28,IDC_RADIO34,IDC_RADIO30);/设置第30个为选中ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small iconreturn TRUE; / return TRUE unless you set the focus to a control 5.添加按钮的消息响应代码。进入ClassWizard页面,在ClaasName列表框中选择CButtonTestDlg,在ObjectIDs列表中选择IDC_BUTTONSHOW,在Messages列表中选择BN_CLICKED单击消息,添加“获取结果”的消息响应函数,添加代码如下:void CButtonTestDlg:OnButtonshow() CString strCtrl;CString str;UpdateData(TRUE); m_result=姓名:+m_name+ 籍贯:+m_hometown+ 现居住地:+m_address;/显示姓名、籍贯、现居住地 m_result+= 出生日期:;m_year.GetLBText (m_year.GetCurSel(),str); m_result+=str; m_result+=年;/显示年 m_month.GetLBText (m_month.GetCurSel(),str); m_result+=str; m_result+=月;/显示月 m_date.GetLBText (m_date.GetCurSel(),str); m_result+=str; m_result+=日;/显示日 m_result+=; 生肖:; m_animalsign.GetLBText (m_animalsign.GetCurSel(),str); m_result+=str;/显示生肖 m_result+=; 星座:; m_constellation.GetLBText (m_constellation.GetCurSel(),str); m_result+=str;/显示星座 m_result+=; 民族:; m_nation.GetLBText (m_nation.GetCurSel(),str); m_result+=str;/显示民族 m_result+=; 血型:; m_bloodtype.GetLBText (m_bloodtype.GetCurSel(),str); m_result+=str;/显示血型 m_result+=; 婚姻状况:; m_marriage.GetLBText (m_marriage.GetCurSel(),str); m_result+=str;/显示婚姻状况 m_result+=; 年龄:; m_age.GetLBText (m_age.GetCurSel(),str); m_result+=str;/显示婚姻状况m_result+=; 性别:;UINT nID=GetCheckedRadioButton(IDC_RADIO5,IDC_RADIO6);/显示性别GetDlgItemText(nID,strCtrl);m_result+=strCtrl;m_result+=; 种族:;nID=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4);/显示种族 GetDlgItemText(nID,strCtrl);m_result+=strCtrl; m_result+=; 国籍:; nID=GetCheckedRadioButton(IDC_RADIO7,IDC_RADIO20);/显示国籍 GetDlgItemText(nID,strCtrl);m_result+=strCtrl; m_result+=; 宗教:; nID=GetCheckedRadioButton(IDC_RADIO21,IDC_RADIO27);/显示宗教信仰 GetDlgItemText(nID,strCtrl);m_result+=strCtrl; m_result+=; 学历:; nID=GetCheckedRadioButton(IDC_RADIO28,IDC_RADIO34);/显示学历GetDlgItemText(nID,strCtrl);m_result+=strCtrl+; 喜欢的球类运动:;if(m_A1) m_result+= 篮球;if(m_A2) m_result+= 足球;if(m_A3) m_result+= 乒乓球;if(m_A4) m_result+= 网球;if(m_A5) m_result+= 羽毛球;if(m_A6) m_result+= 排球;/显示喜欢的球类运动m_result+=; 喜欢的水果:;if(m_B1) m_result+= 苹果;if(m_B2) m_result+= 橘子;if(m_B3) m_result+= 香蕉;if(m_B4) m_result+= 芒果;if(m_B5) m_result+= 桃子;if(m_B6) m_result+= 西瓜; /显示喜欢的水果 m_result+=; 喜欢的颜色:;if(m_C1) m_result+= 红色;if(m_C2) m_result+= 黄色;if(m_C3) m_result+= 蓝色;if(m_C4) m_result+= 橙色;if(m_C5) m_result+= 紫色;if(m_C6) m_result+= 青色;if(m_C7) m_result+= 黑色;if(m_C8) m_result+= 白色;if(m_C9) m_result+= 绿色;/显示喜欢颜色UpdateData(FALSE); 6.编辑框显示内容初始化。在CButtonTestDlg:CButtonTestDlg(CWnd* pParent /*=NULL*/)中添加内容如下:CButtonTestDlg:CButtonTestDlg(CWnd* pParent /*=NULL*/): CDialog(CButtonTestDlg:IDD, pParent)/AFX_DATA_INIT(CButtonTestDlg)m_result = _T(提示:按“获取信息”键获取您的相关信息!);m_name = _T(请输入您的名字);m_hometown = _T(请输入您的籍贯);m_address = _T(请输入您的住址);4 调试分析4.1调试遇到问题及解决方法1.编译时,显示头文件无法打开,选择“组建”菜单,选择“全部重建”后,编译、连接成功。2.点击“运行”快捷键时,电脑死机,程序运行环境无响应,保存当前所有文件后,同时按Ctl、Alt和Delete三个键,点击“任务管理器”,选择“结束任务”关闭当前运行环境后,重新启动ViualC+6.0环境并打开该工程,重新调试。5 测试5.1程序运行结果1.运行前: 2.运行结果: 3.输入相关个人信息,点击“获取信息”得心得与体会本次软件实训历时两周,在这两周里,我对Visual C+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论