我正在尝试做一个计算器式的事情,以使用函数进行练习(我是初学者),并供用户使用,加,减,多。用户必须选择一种模式,即可变模式的工作,因此我使用了cin,以便用户可以输入数字。但是一旦用户选择了模式,则用户将需要输入值,但要做到这一点,我将需要再次使用cin,但是不会出现用户输入值的屏幕。我该怎么办? (这还不完整)
#include <iostream>
using namespace std;
double mode4 (double x, double y){
double sum;
sum = x + y;
cout << "sum is: " << sum <<endl;
return 0;
}
int main() {
int *mode = new int;
cin >> *mode;
if (*mode > 4 || *mode == 0){
*mode = 4;
}
if (*mode == 4){
double num1;
double num2;
cin >> num1 >> num2;
mode4(num1, num2);
delete mode;
}
cout << *mode << endl;
return 0;
}
答案 0 :(得分:3)
您将必须在同一屏幕中输入num1和num2的值,cin不会在每次调用时都生成一个新屏幕。 这是您的计算器屏幕的外观:
0
2 3
sum is: 5
4
如果您想在新屏幕中接受下一个输入,则可以使用此answer
答案 1 :(得分:1)
不是您问题的答案,我只想提一下
int *mode = new int;
cin >> *mode;
if (*mode > 4 || *mode == 0){
*mode = 4;
}
不要无意使用指针,这更简单,更安全,更高效,更少键入等。
int mode;
cin >> mode;
if (mode > 4 || mode == 0){
mode = 4;
}
等
如果需要整数变量,只需声明一个。无需使用整数指针并分配整数。