C :在控制语句之后,循环的行为不同

C++: Loop behaves differently after control statement

本文关键字:循环 控制语句 之后      更新时间:2023-10-16

用户输入对是否继续的响应后,该程序在肯定用户响应后打印剩余提示。在合并此控制语句之前,循环等待每个用户响应。之后,其余的一组提示将输出到控制台,而无需考虑任何用户输入。

在维护原始功能的同时,如何合并控制语句?

using namespace std;
int main (){
    bool cont1, cont2;
    string items [10];
    float budget;
    float prices [10];
    int i;
    string  y, n;
    for ( i = 0; i < 10; i++ ){
        cout << "Enter item name: "<<endl;
        cin >> items[i];
        cout << "Enter item price: "<<endl;
        cin >> prices [i];
        cout << "Enter another item? (y/n): "<<endl;
        cin >> cont2;
        if ( (tolower(cont2)) == 'y' ){
            break;
        }
        else if ( (tolower(cont2)) != 'n' && (tolower(cont2)) != 'y'){              
            cout << "Please enter y(es) or n(o)." << endl;
        }
    }
}
 cin >> cont2;

期望可以将输入映射到bool,例如01falsetrue

如果要检查'y''n'作为输入

   char cont1, cont2;
// ^^^^

作为数据类型。


任何应该使用的cont1