如何用算术运算操作两个参数的结果?
How to manipulate the result of two parameters with arithmetic operations?
部分解决
查看下面的内容,看看我是如何解决这个愚蠢大问题的。
我目前正在尝试学习如何(在控制台中)对先前数学运算的结果执行任何数学运算,例如:
user inputs 1
+
2
system("cls");
3
*
2
system("cls");
6
/
2
system("cls");
3
等等等等。
这是我的代码:
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main()
{
double num,num2, res;
string fchoice;
char choice;
system("cls");
cout << "0\b";
cin >> num;
system("cls");
cout << num << "\n\n";
cout << num << endl;
LOOP:
cin >> choice;
cout << "\n";
switch(choice)
{
case '+' :
cin >> num2;
res = num + num2 ;
system("cls");
cout << res << endl;
break;
case '-' :
cin >> num2;
res = num - num2 ;
system("cls");
cout << res << endl;
break;
case '/' :
cin >> num2;
res = num / num2 ;
system("cls");
cout << res << endl;
break;
case '*' :
cin >> num2;
res = num * num2 ;
system("cls");
cout << res << endl;
break;
}
return 0;
}
但问题是,我不知道如何存储最后的结果。
所以我的问题是(如果对你们来说不是太麻烦的话):
我如何存储结果以便以后可以操作它?
如果用户输入的是数字而不是操作,如何让控制台重置(或删除)之前的结果,让控制台准备好进行新的操作?
如果你们能给我一些提示,我将不胜感激。
编辑:我忘了说我是初学者。
上次编辑:
我所要做的只是简单地添加这一行来将之前定义的 double num
重写为 num = res;
就在 goto LOOP;
之前,因此它总是 return开始。
你真的应该停止使用 goto 语句并开始为此使用循环。 (顺便说一句,我可以看到你的标签,但看不到你的 goto 声明?)。要回答你的第二个问题,你可以在 switch 语句中添加一个 default 语句,如果不是
这将使它回到顶部
default:
goto (any label at beginning of program);
或者,如果您使用的是 while 循环,只需清除默认语句中的所有值。
作为脚注,为什么要写
cout<<res<<endl;
4次?只需在开关外写一次即可。
部分解决
查看下面的内容,看看我是如何解决这个愚蠢大问题的。
我目前正在尝试学习如何(在控制台中)对先前数学运算的结果执行任何数学运算,例如:
user inputs 1
+
2
system("cls");
3
*
2
system("cls");
6
/
2
system("cls");
3
等等等等。
这是我的代码:
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main()
{
double num,num2, res;
string fchoice;
char choice;
system("cls");
cout << "0\b";
cin >> num;
system("cls");
cout << num << "\n\n";
cout << num << endl;
LOOP:
cin >> choice;
cout << "\n";
switch(choice)
{
case '+' :
cin >> num2;
res = num + num2 ;
system("cls");
cout << res << endl;
break;
case '-' :
cin >> num2;
res = num - num2 ;
system("cls");
cout << res << endl;
break;
case '/' :
cin >> num2;
res = num / num2 ;
system("cls");
cout << res << endl;
break;
case '*' :
cin >> num2;
res = num * num2 ;
system("cls");
cout << res << endl;
break;
}
return 0;
}
但问题是,我不知道如何存储最后的结果。 所以我的问题是(如果对你们来说不是太麻烦的话):
我如何存储结果以便以后可以操作它?如果用户输入的是数字而不是操作,如何让控制台重置(或删除)之前的结果,让控制台准备好进行新的操作?
如果你们能给我一些提示,我将不胜感激。
编辑:我忘了说我是初学者。
上次编辑:
我所要做的只是简单地添加这一行来将之前定义的 double num
重写为 num = res;
就在 goto LOOP;
之前,因此它总是 return开始。
你真的应该停止使用 goto 语句并开始为此使用循环。 (顺便说一句,我可以看到你的标签,但看不到你的 goto 声明?)。要回答你的第二个问题,你可以在 switch 语句中添加一个 default 语句,如果不是
这将使它回到顶部 default:
goto (any label at beginning of program);
或者,如果您使用的是 while 循环,只需清除默认语句中的所有值。
作为脚注,为什么要写
cout<<res<<endl;
4次?只需在开关外写一次即可。