c++面向对象程序设计MFC简单计算器实验报告详解.doc
文本预览下载声明
计算机与信息工程学院
《程序设计基础》课程设计报告
题目名称: 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
显示全部