mfc课程设计(计算器)

MFC程序设计 计算器 (附带日历) 一、 主要目的:

本设计将实现一个简单计算器并附带一个日历。其功能参照Windows附件中自带的计算器。这个计算器实现了简单的四则运算功能,还实现了模运算和指数运算,具有简洁的图文外观。它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互让使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间。另外还附加了一个日历功能让使用者了解当前日期。本程序对人们的生活有一定的帮助。在课程设计中,系统开发平台为Windows XP,程序设计设计语言采用Visual C++,在程序设计中,采用了面向对象的解决问题的方法。 在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。在程序设计中,可以用面向对象程序设计方法解决问题。 由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。 而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C++程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。

二、开发工具的介绍 1、关于Visual C++ Visual C++6.0 是Microsoft公司在1998年推出的基于Windows 9X和Windows NT的优秀集成开发环境。该环境为用户提供了良好的可视化编程环境,程序员可以里利用该开发环境轻松地访问C++源代码编辑器,资源编辑器和使用内部调试器,并且可以创建项目文件。Visual C++6.0不仅包括编译器,而且它还包括许多有用组件,通过这些组件的协同工作,可以在Visual C++6.0集成环境中轻松地完成创建源文件,编辑资源,以及对程序的编译,连接和调试等各项工作。 VC++6.0是Windows 95/98、XP或Windows NT下的一个应用程序,本身对软硬件没有特殊要求。就是说它对环境的要求与Windows 95/98、Windows NT要求是一致的。 硬件要求:一般在586以上的处理器、16MB以上内存、100MB以上的硬盘。 软件要求:Windows 95/98或Windows NT3.51以上版本。 VC++ 6.0系统可以在一张CD盘上,也可以在“Visual Studio( Visual C++、Visual Foxpro)”等产品的第一张CD盘上。一般都有一个VC的自动安装程序,也可以执行VC6目录下的setup.exe,在安装包的提示下进行,对初学者可采用“典型安装”方式。 在安装好VC 6.0系统后,有时根据需要添加或删除某些部件,可插入CD盘重新执行setup.exe安装程序,安装程序会检测当前系统安装VC6的足件,用户单击“添加/删除”按钮后,在“安装维护”对话框中选定要添加的部件或撤消选定要删除的部件。 与一般的应用软件一样,有以下两种启动方式: (1)通过“开始”按钮,选择“程序”菜单,然后打开“Microsoft Visual studio 6.0中文版”子菜单中的“Microsoft Visual C++ 6.0 中文版”程序。 (2)用户也可以使用命令行启动VC。单击“开始”按钮后选择“运行”命令,在“运行”对话框中输入c:\Program Files\Microsoft Visual Studio\VC98\VC6.exe(按默认盘符和路径安装)即可。

2、可行性分析 本设计是简单计算器。日常计算机使用中,常常涉及到一些有关计算的问题,一个小型的计算器软件变得非常有用,该校型计算器需要空间资源较少,对电脑其他程序的应用影响较小。它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互功能,醒目美观的软件封面。使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

3、需求分析 本软件主要用于计算机windows 2000/XP以上版本的用户的使用,这次课程设计一般是实现简单计算器的功能。要程序能实现:加,减,乘,除,开方,模运算等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。另外还可以查阅当前日期。 三、功能说明 它的设计按软件工程的方法进行,系统具有良好的界面;必要的交互信息;简约美观的效果。使用人员能快捷简单地进行操作。即可单击按钮进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。 (1)包含的功能有:加、减、乘、除运算,开方、求模等功能. (2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 (3) 输入的原始数据和结果都显示在窗口顶部的同一个标签中。 (4) 计算功能基本上是用公式计算方法实现。 (5) 程序可以能自动判断输出数据的正确性,保证不出现结果中以0开头等不正常现象。 (6) “C”按钮可以清除所有已输入的数据从头计算。 功能模块的实现: 基于dialog类添加Caculator类,在这个类中实现高级的按钮控件。在此类中对于所有的对于按钮的绘制工作都是在对话框资源管理中完成的,实现按钮对鼠标单击动作执行不同的计算,在UpdateData(false)函数后显示文本。

四、系统的实现 1、窗体设计 利用MFC AppWinzard生成计算器应用程序框架具体步骤如下: (1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFC AppWizard(exe)选项,然后在Project name文本框中输入Calculator 。 (2)单击OK按钮,弹出MFC AppWinzard_Step1对话框。选中单选按钮。 (3)单击Next按钮,弹出MFC AppWinzard_Step2 of4对话框。 (4)单击Next按钮,弹出MFC AppWinzard_Step3 of4对话框。 (5)单击Next按钮,弹出MFC AppWinzard_Step4 of4对话框。单击Finish按钮,创建框架。 2、编辑资源 (1)编辑对话框及控件资源 利用Visual C++提供的资源编辑器对对话框资源进行编辑。删除对话框中默认的OK和Cancel按钮。添加一个Edit控件,其控件ID为IDC_EDIT1。添加若干按钮控件,其ID如表4-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

6 IDC_6 按键6

7 IDC_7 按键7

8 IDC_8 按键8

9 IDC_9 按键9

。 IDC_Dot 小数点 = IDC_Equal 求值

+ IDC_Add 加号 - IDC_Subtract 减号

* IDC_Mutiply 乘号

/ IDC_Devide 除号

CE IDC_Clear 清屏

Sqrt IDC_Sqrt 开方

% IDC_Spare 倒数

x^y IDC_Power 以X为底的y次幂

添加一个日历控件,截图如下:

添加3个静态框,将日历控件,计算器分别分组。其效果如图4-1所示。

图编辑对话框资源 3、实现对话框控件类 利用ClassWizard添加一个新类,如图所示。 图添加CAdvButton类 (1)添加成员变量和成员函数 为实现按钮控件对鼠标的单击作出相应的响应。首先添加成员变量: public: char *signedbuffer; //定义数字符号存储器 unsigned int i; //供for循环使用的全局变量 char operator1,*str1,*str2,*buffer; //定义操作符存放变量和用来暂存输入值和小数位数 CString s1,s2; //用来暂存将输入的字符转换成的 int sign; int decimal; double m_X; //存放操作数1 double m_Y; //存放操作数2 double m_Result; //输出结果 利用ClassWizard添加消息映射和响应函数: 图添加响应函数 4、实现高级编辑控件类 利用ClassWizard添加一个新类,如图所示.

图添加CAdvEdit (1)添加成员变量和成员函数 为CCaculator类添加一个字符串类型的成员变量m_IDC_EDIT1_TEXT,用来记录编辑框中的文本内容。其实现代码如下: 图添加成员变量 5、对话框界面设计 对主对话框添加成员变量和函数。 主要成员函数: //CCalculatorDlg.h头文件 // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA //建立与资源中的对话框窗口确立联系 //{{AFX_VIRTUAL(CCalculatorDlg) Protected: virtual void DoDataExchange(CDataExchange*pDX);//数据交换函数 //}}AFX_VIRTUAL 添加消息响应函数:

合集下载

基于MFC的计算器设计

基于MFC的计算器设计

中南大学本科生课程设计(实践)任务书、设计报告(C++程序设计)题目基于MFC的计算器设计学生姓名李扬洁指导教师刘雄鹰学院物理与电子学院专业班级1107学生学号1404110736计算机基础教学中心2012年 6 月 27 日基于MFC的计算器设计摘要:经过一个学期48个课时的《C++程序设计基础》学习后,展开了为期两周的计算机程序设计实践课程。

如今,在我们的日常生活中,会遇到很多的简单的却不断重复的计算,通过设计一个简单的计算器来完成这些计算不失为一个好方法。

在之前的计算机语言的学习中,已经学过相当多的关于各种计算的函数,把这些函数所解决的各种运算放入到计算器的设计之中,即可做出一个具有简单功能的计算器。

经过一段时间的努力,一个比较简单的加、减、乘、除、开方、归零等六个基本功能的计算器便随之做了出来,并实现了其功用。

通过计算机程序实践所做出来的一个简单计算器,对于多次重复的繁琐的计算起到了一定程度上的帮助作用。

关键词:计算器,简单设计,功能,实践一、计算器开发设计思想要制作一个比较简单的能对多项运算都能进行的一个计算器并不是一件很容易的事情,也需要有一定的流程和步骤,需要有一个合理的严谨的开发设计思想。

计算器所涉及的加、减、乘、除、开方、归零这六个基本功能都对应着六个运算函数,同时,基于MFC,设计出一个简洁的界面,把这些都综合并连接在一起的时候,才能够做出一个简单的计算器。

在这次的计算器程序设计实践中,我的开发设计思想主要是以下五个方面:1、通过学习程序设计实践理论课上的一些入门知识,在平时涉猎一些有关于计算器设计的相关知识,在程序设计实践上机课上进行具体操作。

制定一个可行的分步骤的实施方案,在遇到疑难的时候与同学交流或直接请教老师,从而一步一步制作出这个简单的计算器,达到计算机程序设计实践课的要求。

2、该简单的计算器应该要具有以下几个功能:加,减,乘,除,开方,归零。

这六项基本功能对应这六项基本运算,而这六项基本运算有时我们日常生活中最经常会涉及到的简单计算。

c++面向对象程序设计MFC简单计算器实验报告资料

c++面向对象程序设计MFC简单计算器实验报告资料

计算机与信息工程学院《程序设计基础》课程设计报告题目名称:60.编写一个能实现简单功能的计算器学生姓名:刘沛东学生学号:2011508154 专业班级:电子信息工程(1)班指导教师:高攀1 课程设计的题目编写一个能实现简单功能的计算器2 题目要求1. 有一个计算器图形。

2. 能实现加、减、乘、除及乘方的运算。

3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色例如:输入数字1 时,在计算器图形上的1键变为红色。

4. 屏幕、图形颜色、形状自定3 总体设计3.1 总体框架图1 系统框架开始结束键入第一个按钮键入第二个按钮显 示 结 果加法减法乘法除法乘方清零13.2 系统功能说明在VC++6.0中绘制计算器界面,各控件的设置对0~9控件设定相应的ID和其他属性:图2 “1”控件设置对“+、-、*、\”控件设定相应的ID和其他属性:图2 “+”控件设置对其它控件设定相应的ID和其他属性:图3 其它控件设置主要使用到Layout 菜单中的Align 功能对各个按钮进行对其,使界面更加整洁。

拖出的控件有上面的一个Edit 控件用于显示数字,Button 控件用于处理鼠标的消息。

4 程序详细设计4.1系统主调模块图5 程序流程图实现文件.cpp显示计算器界面开始执行工程全局对象资源文件.rc 模块定义文件.def头文件.h执行_twinmain() Afxmain()创建窗口实现窗口类注册Set window V oid clc::onpaint() V oid cal::onCE()点击鼠标发出消息V oid clce::onmouse()等待消息处理V oid clc::onMum0() V oid clc::onAdd() 文本框中显示结果程序运行结3 4.2各模块详细设计4.2.1 建立的变量,控件的命名,对应的消息处理函数对应表ID CAPTION Message HandlerIDD_CALC_DIALOG 简易计算器N/AIDC_NUM0 0 OnNum0IDC_NUM1 1 OnNum1IDC_NUM2 2 OnNum2IDC_NUM3 3 OnNum3IDC_NUM4 4 OnNum4IDC_NUM5 5 OnNum5IDC_NUM6 6 OnNum6IDC_NUM7 7 OnNum7IDC_NUM8 8 OnNum8IDC_NUM9 9 OnNum9IDC_NEG +/- OnNegIDC_PT .OnPtIDC_DIV / OnDivIDC_MUL * OnMulIDC_MIN - OnMinIDC_ADD + OnAddIDC_BACKSPACE BACK OnBackspaceIDC_CE CE OnCeIDC_CLEAR C OnClearIDC_EQU = OnEquIDC_DIS N/A N/AOnCal(double num)变量定义:double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。

mfc计算器实验报告

mfc计算器实验报告

mfc计算器实验报告MFC计算器实验报告引言:MFC(Microsoft Foundation Class)是微软公司开发的一套用于Windows应用程序开发的类库,它提供了一系列的类和函数,方便开发者进行图形界面的设计和开发。

在本次实验中,我们将使用MFC来设计一个简单的计算器应用程序,并通过实验报告来总结我们的设计过程和结果。

1. 实验目的本次实验的主要目的是熟悉MFC框架的使用,了解MFC的基本原理和设计思路,并通过实际操作来掌握MFC应用程序的开发流程。

2. 实验环境本次实验使用的开发环境是Visual Studio 2019,该版本已经集成了MFC开发环境,方便我们进行MFC应用程序的设计和开发。

3. 实验步骤3.1 创建MFC项目首先,我们打开Visual Studio 2019,并选择创建一个新的MFC应用程序项目。

在创建项目的过程中,我们需要选择MFC应用程序向导,并设置一些基本的项目属性,如应用程序名称、目标平台等。

3.2 设计计算器界面在项目创建完成后,我们将进入MFC应用程序的设计界面。

在这个界面中,我们可以通过拖拽和调整控件的方式来设计应用程序的界面。

为了实现一个简单的计算器功能,我们需要添加一些按钮、文本框和标签等控件,并设置它们的属性和事件响应函数。

3.3 实现计算器功能在设计界面完成后,我们需要在代码中实现计算器的功能。

具体来说,我们需要编写一些函数来处理按钮的点击事件,并根据用户的输入来进行相应的计算操作。

在这个过程中,我们可以使用MFC提供的一些数学函数和操作符重载来简化计算的过程。

4. 实验结果经过我们的设计和开发,一个简单的计算器应用程序已经完成了。

在实验过程中,我们测试了该应用程序的基本功能,包括加法、减法、乘法和除法等运算操作,并对一些特殊情况进行了处理,如除数为零等。

实验结果表明,该计算器应用程序在功能和稳定性方面都达到了预期的效果。

5. 实验总结通过本次实验,我们对MFC框架的使用和应用程序的开发流程有了更深入的了解。

计算器程序设计.C++,MFC

计算器程序设计.C++,MFC

计算器程序设计.C++,MFC计算器程序设计.C++,MFC简介在本文档中,我们将讨论如何使用C++和MFC(Microsoft Foundation Classes)来设计和实现一个计算器程序。

计算器程序是一个常见的实用工具,可以执行各种数学运算。

我们将使用C++编程语言和MFC框架来创建一个简单但功能强大的计算器应用程序。

计算器的功能需求在开始编写代码之前,让我们明确一下计算器的功能需求。

我们的计算器程序应该具有以下基本功能:1. 实现基本的数学运算,如加法、减法、乘法和除法。

2. 支持多位数的操作,包括小数。

3. 具有清除(Clear)按钮,用于清除当前输入的数字。

4. 具有等号(等于)按钮,用于执行计算。

5. 显示计算结果。

实现步骤步骤1:创建MFC应用程序,我们需要创建一个MFC应用程序,作为我们的计算器程序的基础。

打开Visual Studio,选择“创建新项目”并选择“MFC应用程序”模板。

按照向导的指示完成项目的创建。

步骤2:设计用户界面在MFC应用程序中,我们可以使用Visual Studio提供的可视化设计工具来设计用户界面。

我们可以添加按钮、文本框和标签等控件来创建我们的计算器界面。

步骤3:处理按钮事件为了使计算器能够执行数学运算,我们需要处理按钮的事件。

在MFC中,我们可以使用消息映射机制来处理按钮事件。

通过消息映射,我们可以指定特定按钮的回调函数,在按钮被时自动调用该函数。

步骤4:实现基本计算功能我们需要编写代码来实现计算器的基本功能,例如加法、减法、乘法和除法。

我们可以在处理按钮事件的回调函数中编写相应的代码,以响应用户的计算请求。

步骤5:显示计算结果,我们需要将计算结果显示在计算器界面的文本框中,以使用户能够看到他们的计算结果。

我们可以使用MFC提供的文本框控件来实现这一功能。

结论通过使用C++编程语言和MFC框架,我们可以创建一个简单但功能强大的计算器程序。

本文档对计算器程序的设计和实现进行了概述,并介绍了实现步骤。

mfc计算器程序设计详细

mfc计算器程序设计详细

mfc计算器程序设计详细
MFC是Microsoft基础类的缩写,用于Windows下的GUI程序开发,封装了许多常用的功能,其中包括控件、多线程、消息传递等等。

下面我们将基于MFC来编写一个简单的计算器程序。

首先,我们需要创建一个MFC应用程序并添加一个对话框。

然后,我们需要在对话框中添加各种控件,比如按钮、文本框、标签等等。

在这个例子中,我们需要添加数字按钮、运算符按钮和一个显示结果
的文本框。

接着,我们需要定义各种事件函数,比如数字按钮的点击事件、
运算符按钮的点击事件等等。

在这些事件函数中,我们需要根据相应
的操作完成对应的计算,并将结果显示到文本框中。

当然,我们还需
要处理一些特殊情况,比如输入非法字符、除以0等等。

最后,我们需要将所有的控件和事件函数进行绑定,使得程序能
够正常地运行。

这个过程中,我们将使用MFC提供的消息映射机制来
处理鼠标和键盘事件,以及相应的消息传递机制来更新界面。

总之,在MFC的帮助下编写一个计算器程序不仅方便快捷,而且
代码逻辑清晰,可读性好。

用MFC制作简易计算器

用MFC制作简易计算器

面向对象编程技术课程设计课题名称:用VC++制作简单计算器用VC++制作简单计算器简述:该课程设计将实现一个简单计算器。

其类似于Windows附件中自带的计算器。

这个计算器可以实现简单的四则运算功能,而且具有简洁大方的图文外观。

系统具有良好的界面和必要的交互信息。

即时准确地获得需要的计算的结果,充分降低了数字计算的难度,从而节约了时间,对人们的生活有一定的帮助。

在课程设计中,程序设计设计语言采用Visual C++,在程序设计中,采用了面向对象解决问题的方法。

课题背景计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除简单运算的工具。

要实现计算功能,可以用VC++的知识编写程序来解决此问题。

该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。

该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用。

功能说明系统具有良好的界面;必要的交互信息;简约美观的效果。

使用人员能快捷简单地进行操作。

可单机按钮进行操作即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

(1)包含的功能有:加、减、乘、除;(2)计算器上数字分为显示区,可以显示用户所点击的按键,最后显示结果;按键区,可以让用户选择所需的数字以及小数点;功能区,该区域提供用户所需的运算按钮;(3)计算功能基本上是用系统内部函数;(4)“AC”按钮可以清除所有已输入的数据从头计算;(5)“DEL”按钮可以删除所输入的最后以为数字;编辑资源创建步骤新建一个MFC基于对话框的工程VC++对话框界面右击按钮,修改按钮的属性建立类向导最后点击Edit Code就可以添加代码对其它按钮的操作与之类似,对编辑框的“建立类向导”有点区别,这里不附详细步骤代码展示“1”按钮对应的代码void CMyDlg::OnButton1(){UpdateData(1);if(pass1==1 )m_str="1";else m_str+="1";pass1=0;UpdateData(0);}“2”按钮对应的代码void CMyDlg::OnButton2(){UpdateData(1);if(pass1==1 )m_str="2";else m_str+="2";pass1=0;UpdateData(0);}“3”按钮对应的代码void CMyDlg::OnButton3(){UpdateData(1);if(pass1==1 )m_str="3";else m_str+="3";pass1=0;UpdateData(0);}“4”按钮对应的代码void CMyDlg::OnButton3(){UpdateData(1);if(pass1==1 )m_str="4";else m_str+="4";pass1=0;UpdateData(0);}“5、6、7、8、9、0”按钮对应的代码与“1、2、3、4”按钮对应的代码相近“=”按钮对应的代码void CMyDlg::Onresult(){UpdateData(1);int i,z,s,j,x=0,y=1,t,m=1;char b[10];double rate=10.0,itemp=0.0,a[20];for(i=0;i<20;i++)a[i]=1000000.0;for(i=0;i<10;i++)b[i]=' ';z=0;for(i=0;i<m_str.GetLength();i++) {if(isdigit(m_str.GetAt(i))){if(rate==10.0){ itemp=itemp*rate+(m_str.GetAt(i)-'0');if(i==m_str.GetLength()-1)a[z]=itemp;}else{itemp=itemp+rate*(m_str.GetAt(i)-'0');rate=rate/10;if(i==m_str.GetLength()-1)a[z]=itemp;}}else if(m_str.GetAt(i)=='.')rate=0.1;else if(m_str.GetAt(i)=='+') {a[z]=itemp;itemp=0;z++;b[z]='+';z++;rate=10.0;}else if(m_str.GetAt(i)=='-') {a[z]=itemp;itemp=0;z++;b[z]='-';z++;rate=10.0;}else if(m_str.GetAt(i)=='*')a[z]=itemp;itemp=0;z++;b[z]='*';z++;rate=10.0;}else if(m_str.GetAt(i)=='/'){a[z]=itemp;itemp=0;z++;b[z]='/';z++;rate=10.0;}}s=z;for(j=0;j<=s;j++){if(b[j]=='/'){a[j+1]=1/a[j+1];b[j]='*';}}for(j=0;j<=s;j++){if(b[j]=='*'){if(j-t==2){a[t-m]=a[t-m]*a[j+1];m=m+2;}elsea[j-1]=a[j-1]*a[j+1];a[j+1]=1000000.0;b[j]=' ';t=j;}}for(j=0;j<=s;j++){if(a[j]!=1000000.0) //如果a[i]的值不为0.0a[x]=a[j]; //把a[i]的值赋给a[x] x+=2; //x自加2}if(b[j]!=' ') //如果b[i]的值不为空格{b[y]=b[j]; //把b[i]的值赋给b[y]y=y+2; //y自加2}}for(j=0;j<=y-2;j++) {if(b[j]=='+') //如果b[i]等于加号a[0]=a[0]+a[j+1];else if(b[j]=='-') //如果b[i]等于减号a[0]=a[0]-a[j+1];}m_str.Format("%1f",a[0]);UpdateData(0);}“+”按钮对应的代码void CMyDlg::Onadd(){UpdateData(1);m_str+="+";UpdateData(0);}“-”按钮对应的代码void CMyDlg::Onjian(){UpdateData(1);m_str+="-";UpdateData(0);}“*”按钮对应的代码void CMyDlg::Oncheng(){UpdateData(1);m_str+="*";UpdateData(0);}“/”按钮对应的代码void CMyDlg::Onchu(){UpdateData(1);m_str+="/";UpdateData(0);}“AC”按钮对应的代码void CMyDlg::Onac(){UpdateData(1);m_str="0";pass1=1;UpdateData(0);}“DEL”按钮对应的代码void CMyDlg::Ondel(){UpdateData(1);if(m_str!="0" && m_str.GetLength()>1)m_str=m_str.Left(m_str.GetLength()-1);else{m_str="0";}UpdateData(0);}“.”按钮对应的代码void CMyDlg::Onpoint(){UpdateData(1);if(pass1==1)m_str=".";elsem_str+=".";pass1=0;UpdateData(0);}效果图。

MFC计算器

《C++面向对象程序设计》实验报告学院:信息科学与工程学院专业:学号:姓名:一.题目:利用MFC框架编写Windows附件中所示的简易计算器二.功能描述:1.能够实现最基本的加,减,乘,除四则基本运算。

2.界面有清空,退格按钮,方便用户计算使用。

3.此计算器具有开方,取倒数,求对数的高级运算。

三.概要设计:1.Windows消息处理机制通过对教材的阅读,对Windows程序的消息处理机制有个大致的了解。

Windows的程序都是通过消息来传送数据,并且存在异常处理等不需要用户参与的系统消息,用户消息就是鼠标的单击,双击等。

2.界面的设计如图,简易的计算器界面主要使用菜单中相关控件,并合理的布置各个按钮的位置,使得界面让用户看起来整洁简单。

3.框架描述Windows 简易计算器在资源视图画好界面添加控件的同时,通过属性修改名称为各个按钮和编辑框添加不同的函数四则运算+,-,*,/ 1/x,lgx等函数退格和清空键4.建立的变量和控件的命名,对应的消息处理函数命名表ID CAPTION Message Handler IDC_BUTTON0 0 OnButton0()IDC_BUTTON1 1 OnButton1()IDC_BUTTON2 2 OnButton2()IDC_BUTTON3 3 OnButton3()IDC_BUTTON4 4 OnButton4()IDC_BUTTON5 5 OnButton5()IDC_BUTTON6 6 OnButton6()IDC_BUTTON7 7 OnButton7()IDC_BUTTON8 8 OnButton8()IDC_BUTTON9 9 OnButton9()IDC_BUTTON10 . OnButton11()IDC_BUTTON11 = OnButtonequal() IDC_BUTTON12 + OnButtonadd()IDC_BUTTON13 - OnButtoncut()IDC_BUTTON14 * OnButtonmultiply() IDC_BUTTON15 / OnButtonremove() IDC_BUTTON16 1/x OnButton1x()IDC_BUTTON17 lg OnButtonlg()IDC_BUTTON18 sqrt OnButtonsqrt()IDC_BUTTON19 Backspace OnButtonbackspace() IDC_BUTTON20 C(清空) OnButtonclear()5.下图是基本对话框中所有的类四.详细设计:1.新建工程,选择MFC AppWizard[exe],并命名工程的名称为mycalculator2.选择基本对话框3.通过控件添加各种按钮和编辑框(对话框右边的“Controls”控件箱提供了可用于对话框的各种组建,在此次计算器中,基本上只用到上面四个控件,对话框只能通过控件来实现它们的功能,把控件中的数据保存在对话框类的数据成员中,应用程序才能通过这些数据成员获取控件中的数据)4.考虑用户们的习惯,把编辑框的显示的数字属性由靠左改成靠右(选中编辑框,右击选择属性-样式,排列文本改为向左)5.用同样的方法改变按钮的标题,其他按钮同理6.为美观改变对话框的标题为“计算器”7.右击编辑框添加类向导,添加变量m_result,且type为CString//可通过其改变类型和名称8.实现每个按钮的功能,双击按钮,为按钮添加函数,可以改变函数的名称① 0~9和小数点的函数大致类似void CMycalculatorDlg::OnButton1(){// TODO: Add your control notification handler code herem_result +=_T("1");UpdateData(FALSE);}函数_T()可以对字符串进行操作,UpdateData(FALSE)可以把数据传到文本框里面,小数点与数字同样这样处理。

基于VC MFC下的大整数计算器(带菜单)课程报告(DOC)

《专业技能培训》课程实验报告课程设计题目:大整数计算器学生姓名:学生学号:学生院系:学生班级:指导教师:摘要:本课程设计将实现一个大整数计算器。

其类似于Windows附件中自带的计算器。

这个计算器可以实现大整数的四则运算功能,并且具有简洁大方的图文外观。

它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性使用人员能快捷简单地进行操作。

即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

在课程设计中,系统开发平台为Windows 2000/XP及以上,程序设计设计语言采用Visual C++,在程序设计中,采用了结构化与面向对象两种解决问题的方法。

关键词:程序设计;计算器;MFC;按钮控件目录一、问题描述3二、功能描述3三、需求分析3四、概要设计3五、详细设计41、运算流程图42、详细设计步骤53、菜单功能的实现84、相关程序代码13六、设计和调试分析 17七、用户手册18八、测试结果20九、设计心得23十、参考文献24附录24一、问题描述超大整数(超100位)的运算和输出、输出二、功能描述(1)定义大整数类;(2)大整数的输入/输出;(3)计算功能:大整数的数的加、减、乘、除、模除运算;(4)菜单功能:每种功能的操作都是在菜单中进行相应选择;(5)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组;(6)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中;(7)计算功能基本上是用系统内部函数;(8)“0”不能做除数;(9)“Backspace”按钮可以清除上一次输入的数据,“Clear”按钮可以清除所有已输入的数据从头计算。

三、需求分析本设计是大整数计算器。

日常计算机使用中,常常涉及到一些有关计算的问题,一个小型的计算器软件变得非常有用,该校型计算器需要空间资源较少,对电脑其他程序的应用影响较小。

它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性;醒目美观的软件封面。

c++面向对象程序设计MFC简单计算器试验报告

计算机与信息工程学院《程序设计基础》课程设计报告题目名称: 60.编写一个能实现简单功能的计算器学生姓名:刘沛东学生学号:专业班级:电子信息工程(1)班指导教师:高攀1 课程设计的题目编写一个能实现简单功能的计算器2 题目要求1. 有一个计算器图形。

2. 能实现加、减、乘、除及乘方的运算。

3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色例如:输入数字1 时,在计算器图形上的1键变为红色。

屏幕、图形颜色、形状自定4.3 总体设计3.1 总体框架开始键入第一个按钮键入第二个按结系统框架1 图 3.2 系统功能说明在VC++6.0中绘制计算器界面,各控件的设置ID0~9对控件设定相应的和其他属性:“1”控件设置2 图 -+对“、、ID”控件设定相应的和其他属性:*、\“图 2 +”控件设置和其他属性:对其它控件设定相应的ID其它控件设置3图使界面更加整洁。

Align菜单中的Layout主要使用到功能对各个按钮进行对其,控件用于处理鼠标的ButtonEdit拖出的控件有上面的一个控件用于显示数字,消息。

4 程序详细设计系统主调模块4.1.图5 程序流程图4.2各模块详细设计变量定义:double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。

double m_Dis; //Edit控件上需要显示的数字BOOL point_flag; //小数点表示位,判定是否是小数,是小数为1,不是小数为0。

double numfirst; //保存计算过程中的前一个数字,double numsecond;//保存计算过程中的第二个数字char op;//记录当前的计算符号,可以为'+','-','*','/','=','c','n'变量初始化:poz=1;m_Dis = 0.0;numfirst=0;numsecond=0;op=0;4.4.2 设计思路a)首先考虑对所有按键分为两类,数字类和符号类,0,1,2,3,4,5,6,7,8,9为数字类,+,-,*,/,=为符号类。

MFC下的科学计算器

MFC下的科学计算器MFC (Microsoft Foundation Classes) 是Microsoft在windows上用于构建图形用户界面 (GUI) 的一套类库。

在MFC下开发一个科学计算器,可以实现基本的数学运算,包括加、减、乘、除,以及科学计数、平方、开方等功能。

首先,我们需要创建一个新的MFC应用程序项目。

在Visual Studio中选择“新建项目”,然后选择“MFC应用程序”。

在项目向导中,选择“单文档”视图,点击“完成”创建项目。

在代码视图中,我们可以使用Class Wizard来添加的响应函数。

打开Class Wizard,切换到“消息映射”选项卡,在列表中选择“控件”和“消息”,然后点击“添加函数”来添加事件处理函数。

除了基本的加减乘除功能,我们还可以添加其他的科学计算功能,例如平方、开方、三角函数等。

这些功能使用C++的数学库函数实现。

在完成功能的设计和实现后,我们可以进行调试和优化。

在调试期间,我们可以使用断点来跟踪代码的执行过程,检查变量的值和程序的状态。

如果遇到错误或异常情况,可以使用调试工具和日志功能来定位和解决问题。

同时,我们还可以根据用户的反馈和需求,对功能和界面进行优化和改进。

最后,我们可以将应用程序编译成可执行文件,方便用户安装和使用。

可以使用发布功能来生成安装程序,然后将可执行文件和相关文件打包,发布给用户。

总结一下,使用MFC开发一个科学计算器需要以下几个步骤:创建MFC应用程序项目、设计用户界面、实现计算功能、调试和优化、发布应用程序。

通过这个过程,我们可以了解和掌握MFC开发的基本流程和技巧,进一步提升编程能力和开发经验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档