简易计算器
来源:互联网 发布:淘宝网发货地址怎么改 编辑:程序博客网 时间:2024/05/16 11:09
老师布置了个作业:可拓展性或灵活性,指软件可快速改进以满足业务需求的变化,以一个简单系统为例理解在设计上要如何实现这个性能。可以一个简单的计算器为例,使用C++实现。
然后经过各种查,用已懂的知识写了个,下面贴上计算器的代码。
期间遇到错误提示:"A"的初始化操作由"case"标签跳过,这个错误是因为怕用了别的case而导致这个变量不创建,解决方法为把case(0),case(1)...后代码用{}括起来。
#include<iostream>#include<string>using namespace std;//运算类class COperation{ private:double dNumA; //数字Adouble dNumB; //数字Bpublic:void SetNumA(double n){ //设置数字AdNumA = n;}void SetNumB(double n){ //设置数字BdNumB = n;}double GetNumA(){ //取得数字Areturn dNumA;}double GetNumB(){ //取得数字Breturn dNumB;}virtual double GetResult() // 得到运算结果{double result = 0;return result;}};//加法类class COperationAdd :public COperation {public:double GetResult()override{double result = 0;result = GetNumA() + GetNumB();return result;}};//减法类class COperationSub :public COperation {public:double GetResult()override{double result = 0;result = GetNumA() - GetNumB();return result;}};//乘法类class COperationMul :public COperation {public:double GetResult()override{double result = 0;result = GetNumA() * GetNumB();return result;}};//除法类class COperationDiv :public COperation {public:double GetResult()override{double result = 0;if (GetNumB() == 0){std::cout << "除数不能为0。";return NULL;}result = GetNumA() / GetNumB();return result;}};int main(){int n;double x, y;while(true){cout << " == == == == == == == == == == == == == == == == == == ==" << endl;cout << " 0. 加法运算" << endl;cout << " 1. 减法运算" << endl;cout << " 2. 乘法运算" << endl;cout << " 3. 除法运算" << endl;cout << " 4. 退出 " << endl;cout << " == == == == == == == == == == == == == == == == == == ==" << endl;cout << "运算类型选择:";cin >> n;switch(n){case(0) : { COperationAdd A; cout << "请输入数据x和y:"; cin >> x >> y; A.SetNumA(x); A.SetNumB(y); cout << x << " + " << y << " = " << A.GetResult() << endl; break;}case(1) : { COperationSub A; cout << "请输入数据x和y:"; cin >> x >> y; A.SetNumA(x); A.SetNumB(y); cout << x << " - " << y << " = " << A.GetResult() << endl; break;}case(2) : { COperationMul A; cout << "请输入数据x和y:"; cin >> x >> y; A.SetNumA(x); A.SetNumB(y); cout << x << " * " << y << " = " << A.GetResult() << endl; break;}case(3) : { COperationDiv A; cout << "请输入数据x和y:"; cin >> x >> y; A.SetNumA(x); A.SetNumB(y); cout << x << " / " << y << " = " << A.GetResult() << endl; break;}case(4):exit(0);default: break;}}return 0;}
0 0
- 简易计算器
- 简易计算器。。。
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 为什么mfc中从InitInstance()中进入程序
- eclipse的shell相关插件
- 立此存照(9)[C++]如何输出wchar_t类型的字符串和字符
- 关于构建自动化
- JavaWeb——Day04_1
- 简易计算器
- 如何写Makefile(二)——规则篇(中)
- java 调用VS2010 Dll 调试方法
- 秋水仙数
- 多功能记事本开发之路——02 实现事件监听器
- C语言函数---G
- 求二叉树的镜像
- Android刷新系统图册
- 常见经典排序算法