- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运算流程图如图 1 所示:从图中可以看到,界面完成初始化后,其操作是循环操作, 这样就能实现连续运算。
图 1:运算流程图 第4页
计算器的设计按软件工程的方法进行,系统具有良好的界面;必要的交互信息;简约 美观的效果。使用人员单机按钮进行操作,但是不能通过键盘直接输入。
能实现的功能有:实数的加、减、乘、除四则运算(能实现连续运算),清零、退格、 退出程序等功能。
MFC 不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关 联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界 面类,不实现对一个窗口对象的控制,而是一些在 WinDOS(用 MFC 编写的程序绝大部分都在 WinDOS 中运行)中实现内部处理的类。 3.可行性分析
设置为空,即删除标题栏项中的字母“Static”(当然也可以不更改而保持缺省设置)。
(5)按钮
在组框中添加若干按钮控件,其名称、ID、功能如表 1 所示。
表1
按钮名称
按钮 ID
功能
0
IDC_0
输入 0
1
IDC_1
输入 1
2
IDC_2
输入 2
3
IDC_3
输入 3
4
IDC_4
输入 4
5
IDC_5
输入 5
签名: 赵亚飞
日期: 2011-5-17
报告使用授权说明
本人完全了解安阳师范学院有关保留、使用学位报告的规定,即:学校有权保留送交 报告的复印件,允许报告被查阅和借阅;学校可以公布报告的全部或部分内容,可以采用 影印、缩印或其他复制手段保存报告。
签名:赵亚飞
导师签名:
日期:
设计一个多功能计算器
赵亚飞 (安阳师范学院 物理与电气工程学院, 河南 安阳 455002)
Visual C++6.0 是 Microsoft 公司在 1998 年推出的基于 Windows 9X 和 Windows NT 的优秀集成开发环境。该环境为用户提供了良好的可视化编程环境,程序员可以里利用该 开发环境轻松地访问 C++源代码编辑器,资源编辑器和使用内部调试器,并且可以创建项 目文件。Visual C++6.0 不仅包括编译器,而且它还包括许多有用组件,通过这些组件的 协同工作,可以在 Visual C++6.0 集成环境中轻松地完成创建源文件,编辑资源,以及对 程序的编译,连接和调试等各项工作。 2.2 关于 MFC
显示说明:显示 15 位整数,超过 15 位的按科学计数法显示。显示 15 位小数,超过 15 位自动忽略后面的位数。被除数位 0 时显示出错信息:1.#INF。 6.系统的实现 6.1 窗体设计
此次设计采用 MFC AppWizard 设计。 MFC(microsoft foundation classes,微软基础类库)是微软为 Windows 程序员提供 的一个面向对象的 Windows 编程接口,它大大简化了 Windows 编程工作。首先,MFC 提供 了一个标准化的结构,这样开发人员不必从头设计创建和管理一个标准 Windows 应用程序 所需的程序,而是从一个比较高的起点编程,节省了时间;其次,它提供了大量的代码, 指导用户编程时实现某些技术和功能。MFC 不仅仅是一个了类库,它还提供了一层建立在 WindowsAPI 的 C++封装基础之上的附加应用程序框架。该框架提供了 Windows 程序需要的 多数公共用户界面。 所谓应用程序框架指的是为了生成一般的应用程序所必须的各种软件的集成。应用程 序框架是类库的一种超集。一般的类库只是一种可以用来嵌入任何程序中的、提供某些特 定功能的孤立的类的集合,但应用程序框架却定义了应用程序的结构,它的类既相互独立 又相互依赖,形成一个统一的整体,可以用来构造大多数应用程序。 AppWizard 就是应用程序向导。AppWizard 是 Visual C++提供的一个高级编程工具, 它可以产生应用的 C++源代码框架,通过与另一个工具 ClassWizard 一起配合使用,可大 大节省开发应用程序的时间和精力。AppWizard 是一个标准的 C++源代码生成器,它通过 一系列的对话框来提示用户输入所需要创建的程序的信息。用户还可以指定它是否具有一 些特性,如多文档接口或工具条,对数据库、OLE 的支持等,然后 AppWizard 生成一些文 件,这些文件构成程序的框架。由 AppWizard 生成的程序是一个基本的 Windows 程序,用 户可以编译并运行,它实际上什么也不做,只是准备好增加那些为程序提供功能性的资源 和代码,这样就节省了用户设计应用程序框架的时间和精力,用户所要做的工作只是直接 往框架中添加自己的处理代码。 ClassWizard(类向导)是一个交互式工具,用来建立新的类,定制类,把消息映射 到类的成员函数,或者把控制框架射为类成员变量。在开发程序时,可用 ClassWizard 建 立程序所需要的类,包括消息处理和消息映射例程(用于定位处理消息的代码);可以向 一个类添加成员函数或成员变量,或修改已经存在的函数和变量;进行消息管理;为消息 映射函数,新建、删除消息映射函数,查看已被处理的消息并跳到消息处理代码处。 利用 MFC AppWinzard 生成计算器应用程序框架具体步骤如下: (1)执行 VC 程序,选择“文件”|“新建”命令,弹出“新建”对话框.单击“工程” 标签,转到“工程”选项卡,选择 MFC AppWizard(exe)选项,然后在“工程名称”文本框 中输入 Cacl2。“位置”文本框是指项目的本地路径。 (2)单击“确定”按钮,弹出“MFC 应用程序向导_步骤 1”对话框。选中“基本对话 框[9]”单选按钮。 (3)单击“下一步”按钮,弹出“MFC 应用程序向导_步骤 2 共 4 步”对话框,保持缺 省设置。 (4)单击“下一步”按钮,弹出“MFC 应用程序向导_步骤 3 共 4 步”对话框,保持缺 省设置。
6
IDC_6
输入 6
7
IDC_7
输入 7
8
IDC_8
输入 8
9
IDC_9
输入 9
+
IDC_ADD
输入+
-
IDC_SUB
输入-
*
IDC_TIM
输入*
ቤተ መጻሕፍቲ ባይዱ
/
IDC_DIV
输入/
+/-
IDC_ZFH
更改数据符号
.
IDC_XSD
输入小数点
=
IDC_GO
实现运算结果
图 8:静态文本
静态文本框的属性设置如图 9 所示:
图 9:静态文本框常规选项卡设置
仅对常规选项卡中的内容进行设置,其余保持缺省设置。 静态文本控件只显示静态文本,不参与程序运行,也不能实现界面交互功能。
第8页
(4)组框
“静态文本”框下方放置一个“组框”控件,ID 设置为:IDC_STATIC。将其“标题”
安阳师范学院本科学生毕业设计报告 设计一个多功能计算器
作者 系(院) 专业 年级 学号 指导老师 日期
赵亚飞 物理与电气工程学院 电气工程及其自动化 2007 级 070203053 庞茂群 2011-5-17
学生诚信承诺书
本人郑重承诺:所呈交的设计报告是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,报告中不包含其他人已经发 表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用 过的材料。与我一同工作的同志对本研究所做的任何贡献均已在报告中作了明确的说明并 表示了谢意。
图 2:对话框常规选项卡设置
图 3:对话框样式选项卡设置
第6页
(2)编辑框 在对话框的顶部添加一个“编辑框”,调整好位置及长宽比例。进入属性设置界面与
对话框相似(后续各按钮亦如此,以后不再赘述)。 编辑框属性设置:
图 4:编辑框常规选项卡设置
图 5:编辑框样式选项卡设置
图 6:编辑框扩展样式选项卡设置 第7页
第5页
(5)单击“下一步”按钮,弹出“MFC 应用程序向导_步骤 4 共 4 步”对话框,保持缺 省设置。单击“完成”按钮,弹出“新建工程信息”对话框,再点击“确定”按钮,就生 成了 MFC 应用程序框架。 6.2 编辑资源
利用 Visual C++提供的资源编辑器对对话框资源进行编辑。删除对话框中默认的“TODO: 在这里设置对话控制。”和“确定”按钮。“取消”充当按钮中的“关闭”按钮,见后续.
选中“编辑框”,右键调出快捷菜单,点击快捷菜单中的“建立类向导...”,为编辑 框添加“成员变量(Member Variables)”,如图 7 所示:
图 7:编辑框添加成员变量
需要注意的是:后续的控件按钮不是变量不需要设置此项。 (3)静态文本框 编辑框下方添加一个“静态文本”控件,如图 8 所示:
摘要:此次毕业设计实现了一个类似于 Windows 下的计算器。这个计算器实现了简单的四 则运算和退格、清零、关闭程序等功能,具有简洁大方的界面外观。它的设计按软件工程 的方法进行,系统具有良好的界面、必要的交互信息,能快捷简单地进行操作,即时准确 地获得需要的计算结果,可以显示 15 位数,提高了精确度,对人们的生活有一定的帮助。 在此次毕业设计中,系统开发平台为 Windows 7,采用 Visual C++6.0 MFC 应用程序向导 设计,在程序设计中,采用了结构化与面向对象两种解决问题的方法。
计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除等简单运算的功能。 要实现计算功能,可以用 VC++编写程序来解决此问题。VC++是可视化编程,降低了传统编
第3页
程的难度,对于初学者来说是一个不错的选择,具有一定的可行性。 4.需求性分析
此次设计编写的是简单计算器。日常计算使用中,常常涉及到一些有关计算的问题, 因此编写一个需要空间资源非常少,对电脑其他应用程序的影响也很小,计算难度低,精 确度和准确度高的小型计算器显得非常有必要。 5.功能说明
MFC 是 Win API 与 C++的结合。API 即微软提供的 WinDOS 下应用程序的编程语言接口, 是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第 三方的编程语言来进行对 WinDOS 下应用程序的开发,使这些被开发出来的应用程序能在 WinDOS 下运行,比如 VB,VC++,Java 编程语言函数本质上全部源于 API,因此用它们开发出 来的应用程序都能工作在 WinOS 的消息机制和绘图里,遵守 WinDOS 作为一个操作系统的内 部实现。MFC 是微软对 API 函数的专用 C++封装,这种结合一方面让用户使用微软的专业 C++ SDK 来进行 Win 下应用程序的开发变得容易,因为 MFC 是对 API 的封装,微软做了大量的工 作,隐藏了好多程序开发人员在 Win 下用 C++ & MFC 编制软件时的大量内节,如应用程序实 现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价,因此就 造成了 MFC 对类封装中的一定程度的的冗余和迂回,但这是可以接受的。
关键词:MFC;VC++;对话框;成员变量;类向导;计算器
1.课题背景 本人在校所学专业是电气工程及其自动化,此专业涉及到硬件和各方面的应用软件,
如 Protel,Matlab,Multisim,PLC,单片机语言,汇编语言,C 语言等,因此在熟练掌握硬 件的基础上掌握好软件编程也是很重要的一步。在考虑到毕业后的就业领域,切合自身实 际就选择了本课题。 2.开发工具介绍 2.1 关于 Visual C++6.0
(1)对话框 对话框(Dialog)是一类应用面很广的窗口,它的主要功能是输出信息和接受用户的 输入,对话框与控件是密不可分的,在每个对话框内一般都有一些控件,对话框依靠这些 控件与用户进行交互。 对话框分为有模式对话框和无模式对话框两种。有模式对话框关闭前无法进行其它操 作,这是因为有模式对话框打开后就获得了输入控制权,用户只能与该对话框进行交互, 而其他用户界面对象不能接受输入信息,直至该对话框关闭。而无模式对话框与其它窗口 共享控制权,用户可在不同的窗口之间切换。 一个对话框有两部分组成:对话框模板资源和对话框类。相应地,对话框的设计包括 对话框模板的设计和对话框类的设计两个主要方面。 对话框属性设置:主要对“常规”和“样式”选项卡中的各项进行设置,其余保持缺 省设置。其各项设置如图所示: