C++ 变量不';t更改为该变量的最后一个输入

C++ 变量不';t更改为该变量的最后一个输入,c++,C++,我试图让这个程序在输入错误后,当前输出他们输入的字符。目前如果你输入了一个错误的字符,我通常只做z,它会给你想要的“错误!请输入一个正确的类型!”,然后回到开始,让你再次输入值。如果您输入小写字母p,它将提示您填写支票金额,我通常只说1。在检查书面输入后,它将通过输出您输入的帐户类型来完成。我遇到的问题是,它输出我首先输入的z,而不是p 如何使帐户类型的输出成为该变量的最后一个输入。(不允许使用全局变量) 代码如下: 直接跳回函数顶部是一种不好的做法,我不建议尝试通过再次调用函数来解决错误,而是

我试图让这个程序在输入错误后,当前输出他们输入的字符。目前如果你输入了一个错误的字符,我通常只做z,它会给你想要的“错误!请输入一个正确的类型!”,然后回到开始,让你再次输入值。如果您输入小写字母p,它将提示您填写支票金额,我通常只说1。在检查书面输入后,它将通过输出您输入的帐户类型来完成。我遇到的问题是,它输出我首先输入的z,而不是p

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

代码如下:

直接跳回函数顶部是一种不好的做法,我不建议尝试通过再次调用函数来解决错误,而是在输入良好之前输入一段时间,怎么样

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
while(true){
cin>>答案;
如果(答案)='P'| |答案)='C')/#包括
打破

虽然这个项目可能更好,但是项目需要有一个转换语句。我对C++也非常新(在CSC的基本C++类中)我不完全理解你写的代码,也不想使用我不理解的代码。有没有更好的方法在switch语句中循环?我可以用一个单独的函数使accountType函数再次运行吗?@AndréFecteau你已经学会了循环吗?如果你看我的代码,它会说你仍然运行switc下面的h语句,这只是确保在转到switch语句之前,您将获得良好的输入。是的,我们已经介绍了循环,但我很难理解它们。我唯一不明白的是,当它不是一个计数循环时,如何告诉它返回到开始。我实际上已经找到了它。代码可以在这里找到:I a已将while语句添加到accType。