题目:模拟袖珍计算器
建立一个可执行的程序模拟一个简单的计算器,支持算术运算(+-*/和=),以及C(清除)、A(全清除)、N(符号变换)操作
1、程序设计
为模拟一个实际计算器,可以把它看做一个C++语言中的对象,使它具有对象的意义而执行操作,它包含两个组件对象:一个计算引擎和一个用户接口
用户接口对象处理接收的键盘输入信息,并显示答案
计算引擎对象对给出的数字数据执行操作,并存储操作的结果
计算器对象控制这些组件完成工作
(在附件里面的图片)
设计模式:模型——控制——视图(model-control-view)
计算引擎是模型,接口是视图,计算器是控制
2、各部分情况
计算引擎(CalcEng):进行计算操作,并在它的公共接口提供四个成员函数
operand:用于向计算引擎输入数字数据
operation:调用此函数可以进行控制和算术运算
opcode:调用此函数可以得到内部保留的操作符代码(+、*等)
output:调用此函数可以产生当前存储的参数
计算引擎工作使用的基本量
ans:是答案,或要求计算的结果,初始值为0.0
op:操作符代码,“+-*/=”中任一个符号的左操作数总是ans
arg:op的右操作数
用户接口(CalcFace):读取用户的输入显示计算器的输出,其公共接口有两个函数
input:接收用户输入的数字和代码,并对各种特殊情况进行提示
shownumber:向用户显示一个给出的数字
计算器(Calculator):模拟真实世界中的计算器,能够完成下面的任务
用户打开计算器
对用户的输入进行重复的计算
用户关闭计算器