微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

嵌套的If If语句正在跳过用户输入第二个问题的数据的机会

如何解决嵌套的If If语句正在跳过用户输入第二个问题的数据的机会

已更新,可以更准确地描述问题

C ++语言 我正在尝试使用嵌套的if语句用于学习目的(以及后续教程)。我知道逻辑&&运算符对于这种情况非常理想。反正...

当第一个猜测等于第一个答案时,嵌套的If语句将跳过用户输入第二个问题的数据的机会。当第一个猜测不正确时,一切都会按预期进行(问题和用户输入请求都将执行)

我可能会弄错,但是我觉得所有内容都与本教程相提并论,但是我仍然遇到我提到的问题。有人得到答案了吗? :)

谢谢:)



#include <iostream>
#include <string>

int main ()
{
std:: string variable_one_guess;
std:: string variable_two_guess;
std:: string variable_one_answer = "The answer for one";
std:: string variable_two_answer = "The answer for two";

std:: cout << "Guess the variable one value\n";
std:: cin >> variable_one_guess;
std:: cout << "Guess the variable two value\n";
std:: cin >> variable_two_guess;


if (variable_one_guess == variable_one_answer) // I am aware I can just combine both if statements using the logical
                                      //  && operator but I need this to work for learning purposes

{

    if(variable_two_guess == variable_two_answer)

    {std:: cout << "Correct!\n";}

}

}

解决方法

Quentin正确地使我注意到了getline函数,该函数起作用了。 cin读取单个用空格分隔的单词。所以我不得不用cin代替getline函数。

//code
std:: cin >> variable_one_guess;
// code
std:: cin >> variable_two_guess;
//code

替换为

//code
getline(std::cin,variable_one_guess);
// code
getline(std::cin,variable_two_guess);
//code

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。