之前那个版本无法根据上一次计算的结果接着计算,以下是新版的
#include<iostream>
using namespace std;
void main()
{
float num1 = 0, num2 = 0, final;
char fh = 0;
cout << "欢迎使用简易计算器(当符号为n时退出,为q时清空)" << endl;
Z: cin >> num1;
cin >> fh;
if (fh == '+')
{
A: cin >> num2;
final = num1 + num2;
system("cls");
cout << "当符号为n时退出,为q时清空,否则以当前结果继续进行计算,只需要输入符号和后面一位数" << endl;
printf("结果是%f\n", final);
cin >> fh;
if (fh == '+' || fh == '-' || fh == '*' || fh == '/')
{
if (fh == '+')
{
num1 = final;
goto A;
}
else
if (fh == '-')
{
num1 = final;
goto B;
}
else
if (fh == '*')
{
num1 = final;
goto C;
}
else
if (fh == '/')
{
num1 = final;
goto D;
}
}
else
if (fh == 'n')
{
printf("退出\n");
return;
}
else
if (fh == 'q')
{
printf("已清空\n");
goto Z;
}
else
{
system("cls");
printf("请重新输入");
goto Z;
}
}
else
if (fh == '-')
{
B: cin >> num2;
final = num1 - num2;
system("cls");
cout << "当符号为n时退出,为q时清空,否则以当前结果继续进行计算,只需要输入符号和后面一位数" << endl;
printf("结果是%f\n", final);
b: cin >> fh;
if (fh == '+' || fh == '-' || fh == '*' || fh == '/')
{
if (fh == '+')
{
num1 = final;
goto A;
}
else
if (fh == '-')
{
num1 = final;
goto B;
}
else
if (fh == '*')
{
num1 = final;
goto C;
}
else
if (fh == '/')
{
num1 = final;
goto D;
}
}
else
if (fh == 'n')
{
printf("退出\n");
return;
}
else
if (fh == 'q')
{
printf("已清空\n");
goto Z;
}
else
{
printf("请重新输入");
goto b;
}
}
else
if (fh == '*')
{
C: cin >> num2;
final = num1 * num2;
system("cls");
cout << "当符号为n时退出,为q时清空,否则以当前结果继续进行计算,只需要输入符号和后面一位数" << endl;
printf("结果是%f\n", final);
c: cin >> fh;
if (fh == '+' || fh == '-' || fh == '*' || fh == '/')
{
if (fh == '+')
{
num1 = final;
goto A;
}
else
if (fh == '-')
{
num1 = final;
goto B;
}
else
if (fh == '*')
{
num1 = final;
goto C;
}
else
if (fh == '/')
{
num1 = final;
goto D;
}
}
else
if (fh == 'n')
{
printf("退出\n");
return;
}
else
if (fh == 'q')
{
printf("已清空\n");
goto Z;
}
else
{
printf("请重新输入\n");
goto c;
}
}
else
if (fh == '/')
{
D: cin >> num2;
final = num1 / num2;
system("cls");
cout << "当符号为n时退出,为q时清空,否则以当前结果继续进行计算,只需要输入符号和后面一位数" << endl;
printf("结果是%f\n", final);
d: cin >> fh;
if (fh == '+' || fh == '-' || fh == '*' || fh == '/')
{
if (fh == '+')
{
num1 = final;
goto A;
}
else
if (fh == '-')
{
num1 = final;
goto B;
}
else
if (fh == '*')
{
num1 = final;
goto C;
}
else
if (fh == '/')
{
num1 = final;
goto D;
}
}
else
if (fh == 'n')
{
printf("退出\n");
return;
}
else
if (fh == 'q')
{
printf("已清空\n");
goto Z;
}
else
{
printf("请重新输入\n");
goto d;
}
}
}