变量不会更改为该变量的最后一个输入

时间:2013-11-06 18:03:39

标签: c++

我正在尝试让这个程序在输入错误后输出他们输入的字符。目前,如果你输入一个错误的字符,我通常只做z,它会给你所需的“错误!请输入正确的类型!”然后返回到开始并再次输入值。如果输入小写p,它将提示写入的支票金额,我通常只说1.输入支票后,输入后输入的账户类型将完成。我得到的问题是它输出我先输入的z而不是p。

如何使“帐户类型”的输出成为该变量的最后一个输入。 (不允许全局变量)

代码是这样的: http://pastebin.com/1DrNcmrR

1 个答案:

答案 0 :(得分:0)

直接跳回到函数的顶部是不好的做法,我不建议再次调用函数来尝试解决错误,而是输入一段时间直到输入是好的?

while(true) {
    cin >> answer;
    if(toupper(answer) == 'P' || toupper(answer) == 'C') //#include <cctype>
        break;
    cout << "Error! Please enter a correct type!" << endl;
}

//switch, no default needed