Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 你能用cin两次吗?_C++ - Fatal编程技术网

C++ 你能用cin两次吗?

C++ 你能用cin两次吗?,c++,C++,我正在尝试做一个计算器类型的东西来练习函数(我是初学者),并为用户使用,加法,减法,mult。或者用户必须选择一个模式,这是可变模式的工作,所以我使用cin,这样用户就可以输入一个数字。但是一旦用户选择了模式,那么用户就需要输入值,但要做到这一点,我需要再次使用cin,但是用户输入值的屏幕不会出现。我该怎么办?(这是不完整的) #包括 使用名称空间std; 双模式4(双x,双y){ 双和; 总和=x+y; cout>num1>>num2; 模式4(num1,num2); 删除模式; } cout

我正在尝试做一个计算器类型的东西来练习函数(我是初学者),并为用户使用,加法,减法,mult。或者用户必须选择一个模式,这是可变模式的工作,所以我使用cin,这样用户就可以输入一个数字。但是一旦用户选择了模式,那么用户就需要输入值,但要做到这一点,我需要再次使用cin,但是用户输入值的屏幕不会出现。我该怎么办?(这是不完整的)

#包括
使用名称空间std;
双模式4(双x,双y){
双和;
总和=x+y;
cout>num1>>num2;
模式4(num1,num2);
删除模式;
}

cout您必须在同一屏幕中输入num1和num2的值,cin不会在每次调用时生成新屏幕。 这是您的计算器屏幕的外观:

0
2 3
sum is: 5
4

如果你想在一个新屏幕上输入下一个内容,那么你可以使用这个

不是你问题的答案,而是我必须提到的

int *mode = new int;

cin >> *mode;
if (*mode > 4 || *mode == 0){
    *mode = 4; 
}
不要无缘无故地使用指针,这样更简单、更安全、更高效、打字更少等等

int mode;

cin >> mode;
if (mode > 4 || mode == 0){
    mode = 4; 
}
等等


如果需要整数变量,只需声明一个。无需使用整数指针并分配整数。

您还可以指定为*模式提供的输入吗?另外,一个屏幕截图也会有帮助。请提供一个。我试着运行代码,它在预期的工作状态下工作,如果你输入模式为0,输入屏幕将不会消失,因为它必须再输入两个num1和num2,一旦你输入这两个值,它将找到数字的总和,输入屏幕将消失。你能解释一下吗,你期待什么样的行为。对于下一个cin,您将不会得到不同的屏幕,您必须在同一屏幕中提供输入。请指定您在哪个操作系统上使用的IDE,或者您是否使用命令行?@DeepakPatankar的答案准确地显示了您的程序在linux命令行下的行为,但是如果您使用IDE,您为您的程序输入的区域可能会有所不同。答案很好,但请不要发布文本图片,而是将文本本身缩进4个空格,以使其格式固定宽度。为什么?需要大约70个字节才能存储为文本,需要53587个字节才能存储为图像——加起来……嘿@DavidC.Rankin,你的观点是正确的我已经更新了我的答案,谢谢你的反馈!你是对的,但把它当作评论,而不是回答。因为它不是答案,将被删除。这不会提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论-
int mode;

cin >> mode;
if (mode > 4 || mode == 0){
    mode = 4; 
}