VC实训实验报告书
电气信息学院实训报告课 程 名 称: 软件项目实训 实 训 题 目: 个人信息获取 年级/专业/班: 过程自动化 学 生 姓 名: 学 号: 实训成绩:学习态度及平时成绩(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