文档详情

c++面向对象程序设计MFC简单计算器实验报告详解.doc

发布:2017-05-18约6.99千字共11页下载文档
文本预览下载声明
计算机与信息工程学院 《程序设计基础》课程设计报告 题目名称: 60.编写一个能实现简单功能的计算器 学生姓名: 刘沛东 学生学号: 2011508154 专业班级:电子信息工程(1)班 指导教师: 高攀 1 课程设计的题目 编写一个能实现简单功能的计算器 2 题目要求 1. 有一个计算器图形。 2. 能实现加、减、乘、除及乘方的运算。 3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色 例如:输入数字1 时,在计算器图形上的1键变为红色。 4. 屏幕、图形颜色、形状自定 3 总体设计 3.1 总体框架 图1 系统框架 3.2 系统功能说明 在VC++6.0中绘制计算器界面,各控件的设置 对0~9控件设定相应的ID和其他属性: 图2 “1”控件设置 对“+、-、*、\”控件设定相应的ID和其他属性: 图2 “+”控件设置 对其它控件设定相应的ID和其他属性: 图3 其它控件设置 主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。 4 程序详细设计 4.1系统主调模块 图5 程序流程图 4.2各模块详细设计 4.2.1 建立的变量,控件的命名,对应的消息处理函数对应表 ID CAPTION Message Handler IDD_CALC_DIALOG 简易计算器 N/A IDC_NUM0 0 OnNum0 IDC_NUM1 1 OnNum1 IDC_NUM2 2 OnNum2 IDC_NUM3 3 OnNum3 IDC_NUM4 4 OnNum4 IDC_NUM5 5 OnNum5 IDC_NUM6 6 OnNum6 IDC_NUM7 7 OnNum7 IDC_NUM8 8 OnNum8 IDC_NUM9 9 OnNum9 IDC_NEG +/- OnNeg IDC_PT . OnPt IDC_DIV / OnDiv IDC_MUL * OnMul IDC_MIN - OnMin IDC_ADD + OnAdd IDC_BACKSPACE BACK OnBackspace IDC_CE CE OnCe IDC_CLEAR C OnClear IDC_EQU = OnEqu IDC_DIS N/A N/A OnCal(double num) 变量定义: 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 设计思路 首先考虑对所有按键分为两类,数字类和符号类,0,1,2,3,4,5,6,7,8,9为数字类,+,-,*,/,=为符号类。数字在计算的过程中最多需要保存两个,所以定义了两个double型变量numfirst和numsecond来进行存储。符号需要一个char op来存储。 然后考虑在计算的过程中,numfirst和numsecond的存储状态有三种,一种是numfirst==0 numsecond==0 也就是程序刚开始运行还没有开始录入数字的状态。二种是numfirst!=0 numsecond==0
显示全部
相似文档