C++实习报告.doc
《C++实习报告.doc》由会员分享,可在线阅读,更多相关《C++实习报告.doc(24页珍藏版)》请在咨信网上搜索。
1、. .一、实习目的C+语言课程设计实习是遥感科学与技术专业的一门专业必修课程。本课程选择VS2010作为开发环境,C+语言作为编程环境,C+语言作为编程工具,将面向对象的程序设计方法、类和对象的创建和使用、文件读写操作、MFC编程等几个重要知识点作为实习容,旨在让学生在较短时间熟悉C+软件系统开发的实际工作流程,包括需求分析、软件设计、软件开发、软件调试等,使得学生在理论学习的基础上,进一步对所学知识点进行深入应用,达到培养学生的C+编程能力,最终实现学以致用的目的。二、 任务及要求1.掌握C+软件系统开发的基本思路,完成C+软件程序的设计文档;2.熟练掌握C+语言的基本语法,包括函数的定义和
2、调用,顺序结构、选择结构、循环结构的使用等;3.熟练掌握C+语言面对对象的程序设计方法,学会根据实际问题设计对象,包括对象的数据成员和成员函数;4.在对象的设计和封装的基础上,熟练掌握类的抽象和定义方法;5.熟练掌握类的继承方法;6.熟练掌握多态性的实现方法,包括动态多态和静态多态;7.熟练掌握利用C+语言实现文本文件的格式化读写操作;8.掌握基于VS2010开发环境的界面程序设计和开发工作。二、 软件设计1.功能说明本次的实习容为基于VS2010开发环境,利用C+语言实现一个简单的学生信息管理系统,用于学生信息的录入、存储,并能提供查询、删除、修改等基本操作。详细功能有学生信息、学生信息的录
3、入、存储、学生信息的查询、学生信息的删除和学生信息的修改。在实现学生信息查询的基础上,对查询结果进行修改操作,用户在软件界面中重新输入对应学生的信息,系统根据输入信息在默认文本文件中对学生信息进行更新。2.系统功能模块设计将软件功能划分为5个不同的子模块:学生信息管理系统用户登录主界面信 息 修 改信 息 录 入、存 储信 息 删 除信 息 查 询学 生 信 息3.模块功能设计(1)学生基本信息管理模块:学生基本信息包括:学号、性别、年龄、专业、学历(分为本科和研究生两类)6项。此外,研究生还包括导师、研究生类别(分为硕士和博士两类)两种属性,而本科生包括社团属性。(2)学生信息的录入、存储模
4、块:主要功能包括:学生信息的录入,用户通过软件界面将学生基本信息录入系统;学生信息的存储,系统将用户录入的信息保存在系统默认的文本文件中。通过选择“本科生”或“研究生”两个单选按钮,确定学生的学历信息,进而根据不同学生类别所应具有的属性,对无用属性的输入框进行屏蔽。在“学号”对应的输入位置输入学生学号;在“”对应的输入位置输入学生;在“性别”对应的输入位置输入学生性别;在“年龄”对应的输入位置输入学生年龄;在“专业”对应的输入位置输入学生专业;在“社团”对应的输入位置输入本科生所属社团;在“导师”对应的输入位置输入研究生导师;在“类型”对应的输入位置输入研究生类别(“硕士”或“博士”)。点击“
5、确定”按钮,在主界面所选择的文件中写入学生信息。为学号文本框添加Cstring类型成员变量;为文本框添加Cstring类型成员变量;为性别文本框添加Cstring类型成员变量;为年龄文本框添加Cstring类型成员变量;为专业文本框添加Cstring类型成员变量;为社团文本框添加Cstring类型成员变量;为导师文本框添加Cstring类型成员变量;为类别文本框添加Cstring类型成员变量。设置“本科生”单选按钮的Group属性为Ture,此时“本科生”和“研究生”默认构成一组单选按钮,为本科生单选按钮添加int类型成员变量,选中“本科生”时变量值为0,选中“研究生”时变量值为1。(3)学生
6、信息的查询:用户通过软件界面输入学生学号对学生基本信息进行查询操作,系统在默认文本文件中查找对应学生的信息,将查询结果显示在软件界面中。在指定位置输入要查找的学生学号。点击“查询”按钮,实现在文件中查找指定学生信息的功能,若未找到,弹出提示信息。查找完成后“”、“学历”、“性别”、“年龄”、“专业”的对应位置显示查找的结果。为文本框添加Cstring类型成员变量;为性别文本框添加Cstring类型成员变量;为学历文本框添加Cstring类型成员变量;为年龄文本框添加Cstring类型成员变量;为专业文本框添加Cstring类型成员变量。(4)学生信息的删除:在实现学生信息查询的基础上,对查询结
7、果进行删除操作,系统在默认文本文件中删除对应学生的基本信息。在指定位置输入要删除的学生学号。点击“删除”按钮,实现在文件中删除指定学生信息的功能。为学号文本框添加Cstring类型成员变量。(5)学生信息的修改:在实现学生信息查询的基础上,对查询结果进行修改操作,用户在软件界面中重新输入对应学生的信息,系统根据输入信息在默认文本文件中对学生信息进行更新。在指定位置输入要修改的学生学号。点击“查找”按钮,在下方的“”、“性别”、“年龄”、“专业”对应位置显示学生的原始信息,若查找失败,则弹出提示信息。在“”、“性别”、“年龄”、“专业”对应位置输入学生的新信息。点击“保存”按钮,用学生的新信息替
8、换学生的原始信息。为文本框添加Cstring类型成员变量;为性别文本框添加Cstring类型成员变量;为年龄文本框添加Cstring类型成员变量;为专业文本框添加Cstring类型成员变量。4.类的设计采用面对对象的编程思想对其进行抽象和封装,从而设计出能够描述不同数据的类(包括数据成员、成员函数):(1)学生类数据成员(均定义为Cstring类型):学号、性别、年龄、专业、学历。成员函数:构造函数,功能为利用界面输入的信息初始化数据成员。信息获取函数,功能为将所有信息添加在一个字符串中,并将该字符串返回。(2)本科生类数据成员(均定义为Cstring类型):参加的社团成员函数:构造函数,功能
9、为利用界面输入的信息初始化数据成员。信息获取函数,功能为将所有信息添加在一个字符串中,并将该字符串返回。(3)研究生类数据成员(均定义为Cstring类型):导师、研究生类别(分为硕士和博士两类)成员函数:构造函数,功能为利用界面输入的信息初始化数据成员。信息获取函数,功能为将所有信息添加在一个字符串中,并将该字符串返回。研究生类继承本科生类继承学生类各类之间的关系是:三、软件界面设计1.创建MFC工程在VS2010开发环境主界面下中选择“新建项目”,打开新建项目对话框,选择Visual C+语言下的MFCMFC应用程序(MFC Application),在下方“名称”文本框中输入项目名称“S
10、tudlnfoSys”,在“位置”文本框中选择项目程序文件保存路径,设置完成后,点击确定按钮打开MFC应用程序向导。图一选择应用程序类型图二选择用户功能图三高级功能图四生成的类图五空的对话框应用程序框架2.添加对话框资源(1)设置对话框属性在程序对话框中点击鼠标右键,在弹出菜单中选择“属性”菜单项,窗口右侧打开“属性”窗口,设置对话框的ID、标题、字体、边界样式等属性。图六属性表(2)添加控件在窗口最右侧的选项卡列表中打卡“工具箱”,包括了多种控件,通过鼠标的拖曳操作,可将工具箱中的控件添加到对话框,同时通过拖曳还可调整控件的大小。在程序中各种控件均由类实现,当对话框中添加一个控件时,软件会自
11、动在程序中创建一个对象,并调用构造函数,当对话框关闭时,其各个子控件对象被销毁。此外也可以自己在程序中写代码创建、显示控件对象。添加控件后,在控件上点击右键,在弹出菜单中选择“属性”菜单项,打开属性窗口,以按钮控件为例,在窗口中可以设置按钮的ID、文字、样式等。(3)添加对话框在资源视图中选择“Dialog”,右键点击,在弹出菜单中选择“插入Dialog”菜单项,系统自动在工程中添加默认对话框,可以按上文的方法设置新的对话框属性。根据学生信息管理系统的功能要求,需要添加四种功能的相应对话框,如下图所示:图七学生信息管理系统对话框图八录入信息对话框图九删除信息对话框图十查找信息对话框图十一修改信
12、息对话框3.对话框的设置(1)为对话框创建类程序主界面的对话框创建完成后,系统自动会为其创建类,此时程序的主界面就是由该类创建的一个对象,而在主界面的基础上添加新对话框后,系统不再自动为新对话框创建类,若要使用该对话框,就需要自行创建对应的类:在新对话框中点击鼠标右键,在弹出菜单中选择“添加类”菜单项,打开“MFC添加类向导”窗口,在“类名”后的文本框中输入为新对话框所创建的对应类的类名。图十二类的创建在类创建完成后,可以看到在工程的文件视图中自动生成了头文件和源文件,分别包含了类的声明和实现。(2)为对话框控件添加成员变量在程序中对某一控件值进行修改,可以在对话框点击鼠标右键,在弹出菜单中选
13、择“类向导”菜单项,打开“类向导”窗口,在“类名”下拉列表中选择一个对话框类,选中成员变量,此时下方的“成员变量”列表会列出该对话框中所有控件的ID,点击右侧的添加变量,给每一个成员变量添加变量。在窗口左侧设置成员变量的访问权限,默认为“public”,文件路径为字符串类型的数据,因而要为其添加一个字符串类型的成员,“变量类型”选择“CString”,变量名通常以m_开头,“_”后的第一个字符表示成员的数据类型。图十三添加成员变量(3)为对话框添加消息处理函数通过上述步骤创建的对话框,其中的所有控件仍无法实现功能,若要其发挥作用,需要为对应控件添加消息处理函数。在“类向导”窗口中的“类名”下拉
14、列表中选择界面对应的类,窗口中部选择“命令”选项卡,在下方的“对象ID”列表中选择对象,在右侧“消息”列表中列出该按钮的默认支持的消息,其中“BN_CLICKED”为单机按钮操作,将其选中,点击右侧的“添加处理程序”按钮,打开“添加成员函数”窗口,系统会根据按钮的ID自动为消息处理函数命名。在“类向导”窗口下方的“成员函数”列表中选择刚刚添加过得函数,然后点击右侧的“编辑代码”状态进行代码编辑。图十四添加处理程序三、 系统功能实现1. 类的定义(1)学生类数据成员(均定义为Cstring类型):学号、性别、年龄、专业、学历。成员函数:构造函数,功能为利用界面输入的信息初始化数据成员。信息获取函
15、数,功能为将所有信息添加在一个字符串中,并将该字符串返回。具体代码如下:/*源文件容*/#include stdafx.h#include StudlnfoSys.h#include Student.h/构造函数的实现Student:Student(CString number,CString name,CString sex,CString age,CString major,CString level)this-number=number; this-name=name; this-sex=sex; this-age=age;this-major=major; this-level=lev
16、el;/信息获取函数的实现CString Student:getInfo() CString info=;/定义字符串,存放信息 /格式字符串,所有信息用“-”分隔info.Format(%s-%s-%s-%s-%s-%sn,this-level,this-number,this-name,this-sex, this-age, this-major);return info;/返回信息字符串(2)本科生类数据成员(均定义为Cstring类型):参加的社团成员函数:构造函数,功能为利用界面输入的信息初始化数据成员。信息获取函数,功能为将所有信息添加在一个字符串中,并将该字符串返回。具体代码如下
17、:/*源文件容*/#include stdafx.h#include StudlnfoSys.h#include Benke.h#include stdafx.hIMPLEMENT_DYNAMIC(Benke, Student)/构造函数的实现,调用父类构造函数/信息获取函数,与父类函数同名Benke:Benke(CString number, CString name, CString sex, CString age, CString major, CString level, CString corporation):Student(number,name,sex,age,major,l
18、evel)this- m_sCorporation=corporation;/信息获取函数,与父类函数同名CString Benke:getInfo()CString info=info.Format(%s-%s-%s-%s-%s-%s-%sn,this-level,this-number,this-name,this-sex, this-age, this-major,this-m_sCorporation);return info;/返回信息字串(3)研究生类数据成员(均定义为Cstring类型):导师、研究生类别(分为硕士和博士两类)成员函数:构造函数,功能为利用界面输入的信息初始化数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实习 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。