C ++:循环在控制语句后表现不同

时间:2016-06-25 20:57:56

标签: c++ loops

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

如何在保持原始功能的同时合并控制语句?

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;
        }
    }
}

1 个答案:

答案 0 :(得分:3)

 cin >> cont2;

预计可以映射到bool的输入,例如01falsetrue

如果您想检查'y''n'作为输入使用

   char cont1, cont2;
// ^^^^

作为数据类型。

无论cont1应该使用什么