2014-01-26 3 views
-5

Я пишу этот код на Visual Studio 2013.если оператор с оператором ИЛИ

Когда я выполнить код, ответив (1) по первому вопросу, программа все еще спрашивает меня второй вопрос.

Не следует ли пропустить второй вопрос, если я ответил (1) на первый вопрос?

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout << "Answer questions with 0 or 1" << endl; 
    cout << "Is there a deep discount on your favorite car? "; 
    bool Discount = false; 
    cin >> Discount; 

    cout << "Did you get a fantastic bonus? "; 
    bool FantasticBonus = false; 
    cin >> FantasticBonus; 

    if (Discount || FantasticBonus) 
     cout << "Congratulations, you can buy that car!" << endl; 
    else 
    cout << "Sorry, waiting a while is a good idea" << endl; 

    return 0; 
} 
+4

Зачем это нужно? Ваша программа задаст один вопрос, затем другой выдает одно сообщение или другое. Если вы хотите что-то сделать, вы должны его закодировать. –

ответ

2

Он не пропустит второй вопрос, так как после первого ответа не возникает условие перед вторым вопросом. Если вы хотите пропустить второй вопрос при вводе 1 для первого ответа:

bool FantasticBonus = false; 
if(!Discount) { 
    cout << "Did you get a fantastic bonus? "; 
    cin >> FantasticBonus; 
} 
Смежные вопросы