




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c+实践报告书 2 篇 【c+实践报告书例一】 本科生课程设计(实践)设计报告 (程序设计基础) 题 目 学生学号 学生姓名 指导教师 学 院 专业班级 MFC 课程设计 计算机基础教学实验中心 XX 年 06 月 14 日 一、引言 MFC(Microsoft Foundation Class Library, 微软基 础类库)是微软基 Windows 平台下的 C+类库集合。MFC 包含了所有与系 统相关的类,其中封装了大多数的 API(Application Program Interface)函数,提供了应用程序框架和开发应 用程序的工具,如应用程序向导、类向导、可视化资源设 计等高效工具,用消息映射处理消息响应,大大简化了 Windows 应用程序的开发工作,使程序员可以从繁重的编程 工作中解脱出来,提高了工作效率。 程序设计实践旨在课堂学习的基础上帮助学生掌握 C+应用系统的开发方法和技巧。在系统学习完C+程序 设计这门课程后,通过实践对几个小型 C+应用程序实例 设计与实现过程分析,帮助学生利用 C+开发应用系统的一 般方法和步骤,掌握 MFC 的基本知识。 这次实践采用学生上机与老师集体辅导的方式,以完 成老师下发的C+语言课程设计任务书为要求和目的, 运用课堂上学习的 C+基础知识,采用 Visual C+ MFC 编 程系统,以全新的角度和感知去认识 C+语言在编程方面的 优越性。在实践过程中,基于对话框的 MFC 应用程序,达 到了解基本控件,如静态文本框、命令按钮、编辑框、列 表框、组合框等的使用的目的。还有理解 Windows 应用程 序采用“消息传递、事件驱动”的运行机制。 本次实践的任务主要分为两个部分: (一) 使用 Visual C+ MFC 编程实现以下功能: 1. 输入一元二次方程 ax2+bx+c=0 的系数 a、b、c, 计算并输出两个根 x1、x2. 2. 编写一个能对列表框进行项目添加、修改和删除 操作的应用程序。 3. 编写一个程序,绘制-22 之间的 sin 曲线。 4. 用定时器控制蝴蝶在窗口中飞舞。等共 10 道。 (二) 将第一部分中选择 35 题,做一个综合程序, 要求有登陆界面和调 用各部分的功能。 二、总体设计 本次实践的主要目的就是了解和掌握运用 MFC 编程的 一般思想和具体的操作步骤。实践主要是基于 MFC 的多文 档对话框和单文档视图,通过实践完成第一大部分的任务 之后,还要完成第二部分的综合题目。第二部分的任务由 学生自主发挥,自主找资料,询问同学和老师。 第一部分的任务比较简单,具体的就不再描述。关于 第二部分,我做了一个基于对文档对话框。首页为一个登 陆页面,需要输入用户名和密码才能登陆,登陆后的页面 是把第一大部分的几个题目连接起来。达到预览的目的。 三、详细设计 实践前首先要认识 AppWizard 的工作环境。其项目工 作区一共有三个选项卡分别为“ResourceView” “ClassView”“FileView”,中间是对话框设计界面,右边 是控件工具栏。 实践过程中,我们是先完成第一大部分的任务。虽然 在第一次上机实践前,我仔细地阅读了老师给我们下发的 资料,并且结合C+程序设计实践教程了 解相关知识,但是在实践时结果不理想。主要是对创 建对话框程序的步骤没有掌握。在经过几次尝试失败后, 总结其一般步骤为:(1)建立基于对话框的 MFC 应用程序框 架;(2)放置控件;(3)设置控件属性;(4)为控件连接变量, 即为控件命名;(5)添加并且编写消息处理函数。 基于对话框的 MFC 程序设计,对各种控件的了解和使 用显得特别重要。这里就不一一详细介绍它们的功能。控 件控制栏一个有 26 个控件图标,每一个图标都可以看做一 个对象,消息便是通过函数对它们进行操作。每一个控件 都有两个重要而且必不可少的基本属性:ID 和标题。ID 便 是该控件的标识,某些函数需要通过 ID 对控件进行操作。 了解一定相关知识后,对课程实践有了很大的帮助。 其中“输入一元二次方程 ax2+bx+c=0 的系数 a、b、c,计 算并输出两个根 x1、x2”这个题目比较复杂,而且与 C+ 连续很紧密。其中的有这样的语句 m_x1=(-b+sqrt(b*b- 4*a*c)/(2*a); m_x2=(-b-sqrt(b*b-4*a*c)/(2*a),这 就是我们在课堂上学习的 C+基本语句,在实践过程中考验 学生的灵活运用能力。完成这个题目的关键是把每个编辑 框(控件)连接好变量和选的数据类型,接下来的就是编写 消息处理函数。这道题很全面地体现了 MFC 的“消息传递、 事件驱动”的思想,在操作步骤方面也在很多地方得到了 实践。 MFC 编程除了基于多文本对话框以外,还有很重要的 一部分是基于单文档界面的应用程序,如 Windows 自带的 Notepad 程序。在本次实践的第一大部分的后 5 个小题就是 基于单文档的。那么首先要对其有一定的了解:文档/视图 结构的思想是将数据的管理与显示分离,其中文档用于管 理应用程序的数据,而视图是用户界面,用于显示、打印 文档中的数据,并管理与用户的交互。SDI 具有文档/视图 结构的应用程序框架,该框架包括应用程序类、窗口框架 类、文档类和视图类,编程的任务是在文档类和视图类中 添加适当的代码。其中文档类中一个重要的成员函数是 OnNewDocument(),用户在此添加代码完成对数据的初始化;而 视图类中最重要的成员函数是 OnDraw(),通过在该函数中 添加代码实现窗口内容的输出。 本次实践是对单文档的典型实例,包括: ? 利用画笔、画刷等工具及位图处理的方法实现文字 和图形的输出。 ? 利用定时器控件制作动画程序。 ? 对鼠标和键盘进行编程的基本方法。 ? 文件、字体、颜色等几种通用对话框的使用方法及 自定义对话框的设计、调用方法。 ? 菜单的设计方法。 虽然进行充分的准备,实践中还是遇到了很多的困难 和问题。在完成题目“用定时器控制蝴蝶在窗口中飞舞” 时,主要的问题就是在插入蝴蝶图片的,尝试了几次都没 有编译成功。最终再询问同学后,才知道是要把 GIF 格式 的图片分割成一帧一帧,然后才能插入。最后用定时器控 制,达到动态的效果。 在完成了第一大部分的任务后,第二部分的综合题是 一个不小的挑战对我来说。要靠自己去网上或者图书馆查 找资料。在经过一番准备后,最终决定做一个相对简单的 基于多文档对话框的登陆界面,把几个原来的程序文件连 接起来。但是在这个过程中,完全要靠自己一步一步去探 索,当然也遇到了各种各样的困难和挑战。 关键是在连接各部分对话框,经过不断的实验,不断 的调试程序,总结的操作步骤如下:(1)创建工程,MFC Application(exe),工程命名按要求命名;(2)工程建立后 有如图对话框,将途中的静态文本框和按钮都删掉,留下 空白,再使用静 态文本,编辑框,按钮和静态图片重新排版,并进行 命名。注意静态图框应该第一个布置,不然运行时图片会 将其他控件覆盖;(3)右击密码对应的编辑框,选择属性, 选样式中的密码;(4)在 Dialog 上右击选择插入 DIG,重复 插入 4 个,依次作为菜单,题目 1,题目 2 和题目 3 的对话 框,并对其分别创建类,以菜单对话框为例,改一下表头 为“菜单” ,在对话框空白处双击,点 OK 创建类,并对其 命名(假如命名为 MyMenu);(5)回到登录界面的对话框,双 击登录控件,出现如图按钮,点击 OK,在顶端添加 #include”,并 OnButton1 下添加以下代码 CString c_user,c_password; m_(c_user); m_(c_password); if(c_()|c_() MessageBox(“用户名或密码不能为空“,“用户登录信 息“); return; if(c_user=“123“ ();/这两段代码是用于调用菜单对话框 else MessageBox(“用户名或密码不正确“,“提示 “,MB_ICONINFORMATION); return; (6)对对话框添加背景图片。在如下图文件上右击, 选择引入,然后导入已准备好的 bmp 格式的图片,然后选 择登录界面的静态图框右击,进行如图操作,这样图片就 加入了,它会改掉按钮和编辑框,这没关系,运行后会显 示出来的; (7)通过以上操作,已经做好了登录界面和实现和登 录界面与菜单对话框的连接,现在进行菜单对话框的编辑。 将原有的按钮删除,自己加入按钮并命名;(8)双击题目 1, 点 OK,在代码页的顶端加入如图代码,并在 OnButton1 下 加入以下代码 CT1 dlg; ();其他的按相同操作。 四、设计总结 为期为两周的课程实践中,我体会颇多,学到的东西 也很多。我懂得了如何运用 MFC 编写可视化界面的应用程 序,加强了对 C+的认识,复习了以前的知识,自己的逻辑 思考能力,解决问题的能力也提高了不少。从而对 Microsoft Visual C+有了更加深刻的认识和体会!在这次 课程设计实践过程中我还懂得了一些程序开发的重要步骤, 总之,在这次课程设计实践中,我收获颇丰。 对于对任务的完成情况,第一部分主要按老师的步骤 完成。第二部分,由学生自主选题,自主设计完成。总的 来说,我个人对自己的完成情况感觉良好。当然,老师的 悉心指导和同学的帮助是不能忽视的,在此感谢所有在本 次课程设计实践过程中对我细心指导的老师和不断鼓励和 帮助我的同学们。 总之,此次课程实践是对学生动手动脑的一次很好的 锻炼,为学生的今后发展奠定基础。 【c+实践报告书例二】 本科生课程设计(实践)任务书、设计报告 (C+程序设计) 题 目 科学计算器应用程序系统 学生姓名 指导教师 学 院 专业班级 学生学号 吴金星 严晖 材料科学与工程学 院 1206 0607120610 计算机基础教学实验中心 XX 年 7 月 3 日 科学计算器管理信息系统 摘要:本设计是简单计算器,日常计算机使用中,常 常涉及到一些有关计算的问题,一个小型的计算器软件变 得非常有用,该校型计算器需要空间资源较少,对电脑其 他程序的应用影响较小。它的设计按软件工程的方法进行, 系统具有良好的界面、必要的交互信息和较好的健壮性;醒 目美观的软件封面。使用人员能快捷简单地进行操作。即 时准确地获得需要的计算的结果,充分降低了数字计算的 难度和节约了时间,对人们的生活有一定的帮助。 关键词:程序设计;计算器;MFC;按钮控件 1. 计算器系统开发设计思想 实验目的 通过实践加强对程序设计语言课程知识点的理解和 掌握,培养对课程知识综合运用能力、实际分析问题能力 及编程能力,养成良好的编程习惯。 通过实践进一步领会程序设计的特点和应用,提高 运用 C+ 以及面向对象知识解决实际问题的能力。 通过实践掌握用 C+ 编写面向对象的实用程序的设 计方法,对面向对象方法和思想增加感性的认识;学会利用 C+程序设计语言编写出一些短小、可靠的 Windows 实用程 序,切实提高面向对象的程序设计能力。为后续的相关课 程的学习打下基础。 实验要求 二进制、八进制、十进制及十六进制数的加、减、 乘、除、乘方、取模等简单计算 科学计算函数,包括(反)正弦、(反)余弦、(反)正 切、(反)余切、开方、指数等函数运行 以角度、弧度两种方式实现上述部分函数 具备历史计算的记忆功能 对不正确的表达式能指出其错误原因 整理上机步骤,完成实验报告、提交可运行的程序, 给出实验数据和实验结果 2、计算器系统功能及系统设计介绍 功能说明 它的设计按软件工程的方法进行,系统具有良好的界 面;必要的交互信息;简约美观的效果。使用人员能快捷简 单地进行操作。即可单机按钮进行操作,也可直接通过键 盘直接输入。即时准确地获得需要的计算的结果,充分降 低了数字计算的难度和节约了时间,对人们的生活有一定 的帮助。 包含的功能有:加、减、乘、除运算,开方、求倒 数等功能。计算器上数字 09 为一个控件数组,加、减、 乘、除为一个控件数组,其余为单一的控件。给对话框 添加菜单。计算功能基本上是用系统内部函数。程序 可以能自动判断输入数据的正确性,保证不出现多于一个 小数点、以 0 开头等不正常现象。“C”按钮可以清除所 有已输入的数据从头计算。 设计思路 算法基本流程,数值计算及功能:主要部分为按 键后的接受处理 键入为数字则检查和增长操作数,有前算符则增长 操作数 1,否则增长操作数 2。计算器基本按:键入操作数 1,键入运算符(若为 单目算符即直接运算),键入操作数 2,再键入算符即运算 前算符,若为当前键入为单目算符即再运算,结果保留在 操作数 1 中,并返回在界面显示。 在每次运算前将操作数进行进制转为十进制,在运 算结束后操作数还原进制。 其中键入特殊算符和功能键 作特殊处理,如:退格,进制选键和”=”,”CE”,”C” 等。显示键入的相关信息,如果键入不合法即提示错误。 算法流程图 关键功能实现 操作数的输入,编辑框所关联的变量为 m_num,程 序开始时为零。每按下一个数字键按钮,就把它累加到 m_num 里并刷新显示。BOOL 型变量 ele 来判断是否有小数 点和一个整型数 dint 来表示小数点后的数据的位数。当 ele=TRUE 时,表示有小数点,否则则表示无小数点。按下 小数点按钮后执行 ele=TRUE。当按下一个数字键时,首先 根据 ele 判断是否按下小数点,若有则把小数点后数的位 数加 1,dint 则为此次键入的数所处的位数,将键入的数 除以 dint 个 10 然后累加到编辑框所关联的变量 m_num 上, 若没有则把 m_num 乘以 10,然后累加到编辑框所关联的变 量 m_num 上。 单目运算符功能的实现,由于单目运算符中必须有 执行运算的函数,因而头文件中要加入,如 m_num=sqrt(m_num).按下按钮即可实现其功能。为实现连 续运算,程序有所改动。 双目运算符功能的实现,双目运算符需要两个操作 数才能运算,所以在执行双目运算符按钮的函数代码中, 要把 m_num 中的值保存到变量 num2 中,然后把 m_num 清零。 这样即可保存第一个操作数。另外先定义了一个整形变量 addt,在不同的双目运算符中给 addt 赋不同的值,然后在 等号中用 switch 语句来匹配 addt 值来判断需要执行何种 双目运算。为实现连续运算,程序有所改动。 退
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年春季中国石油哈尔滨石化公司高校毕业生招聘模拟试卷及答案详解(网校专用)
- 2025年襄阳市第一人民医院公开招聘60名急需专业技术人才考前自测高频考点模拟试题及答案详解(历年真题)
- 2025安徽中医药大学招聘教学、科研人员37人考前自测高频考点模拟试题参考答案详解
- 2025湖南株洲冶炼集团股份有限公司招聘技术管理1人模拟试卷及答案详解(网校专用)
- 2025江苏盐城市妇幼保健院招聘编外专业技术人员16人考前自测高频考点模拟试题及答案详解1套
- 2025广西百色市西林县社会保险事业管理中心招聘编外聘用人员6人模拟试卷及答案详解(必刷)
- 2025国网通信产业集团有限公司第二批高校毕业生录用人选的考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025广东肇庆市广宁县退役军人事务局招聘临聘人员1人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025湖北恩施州宣恩狮子关旅游开发有限公司招聘7人考前自测高频考点模拟试题及完整答案详解1套
- 2025广西北部湾大学招聘高层次人才53人考前自测高频考点模拟试题及答案详解(名校卷)
- 卫生事业单位招聘考试(医学检验专业知识)模拟试卷4
- JJG 707-2014扭矩扳子行业标准
- 超短波在植物病害防治中的应用
- 新媒体运营课件
- 《热敏电阻传感器》课件
- 志愿服务证明(多模板)
- 深圳市养老保险延趸缴申请告知承诺书
- D-阿洛酮糖团体标准
- 动车组辅助供电系统-CRH380A型动车组辅助供电系统
- JGJ114-2014 钢筋焊接网混凝土结构技术规程
- 2022年考研数学二真题
评论
0/150
提交评论