2016-04-07 12 views
-4
int main() 
{ 
cout << "Welcome to your personal seat booking program." << endl; 
cout << "Please follow the instructions to book your seat." << endl << endl; 
cout << "Would you like a seat by the window? (true/false)" << endl; 
cin >> userInputWindow; 
if (userInputWindow = true) 
{ 

} 
else if (userInputWindow = false) 
{ 

} 

cout << "Would you like a seat with a table? (true/false)" << endl; 
cin >> userInputTable; 
if (userInputTable = true) 
{ 

} 
else if (userInputTable = false) 
{ 

} 

cout << "Would you like to be seated in First Class? (true/false)" << endl; 
cin >> userInputClass; 
if (userInputClass = true) 
{ 

} 
else if (userInputClass = false) 
{ 

} 

cout << "Do you need Ease-Of-Access seating? (true/false)" << endl; 
cin >> userInputAccess; 
if (userInputAccess = true) 
{ 

} 
else if (userInputAccess = false) 
{ 

} 

cout << "Do you need a forward facing seat? (true/false)" << endl; 
cin >> userInputForward; 
if (userInputForward = true) 
{ 

} 
else if (userInputForward = false) 
{ 

} 

のない私はこれを実行すると、それは最初cin文の入力のために私に尋ねたが、その後、スクリプトの残りをスキップして、でも最後に私が持っているsystem("PAUSE")をスキップ。これにはどんな理由がありますか?私は迷っていますが、私はプログラミングの面では非常に難しく、難しかったです。 ありがとう![C++]プログラムの終端説明

+0

デバッガを使用してコードをステップ実行するとどうなりますか? (Visual StudioではF10、ステップインし続けるにはF10をもう一度押してください。) 'userInputWindow = true'は' userInputWindow == true'でなければなりません。そうでなければ変数に代入していて、 'if'が常に入力されます。 – Cameron

+0

問題の原因:デフォルトでは、入力ストリームはブール変数を読み込むように要求されたときに1または0を要求します。 –

+0

これは問題ではありませんが、余分なものが必要な場合を除き、 'std :: endl'を使用しないでください。 '' \ n ''は行を終わらせます。 –

答えて

0

何が起こったかは、最初の選択でifとelse ifがある場合は、内部に何もないので、ユーザーがtrueまたはfalseを入力した場合でもプログラムは終了します。どのような選択であれば、それはインターセプトのようなものですか?左に曲がるか右に曲がるか(最初の場合はそれを、それ以外の場合は2番目を選択します)、道路が終了するまで(プログラムが終了する)続行します。したがって、説明が必要な構文エラーがないため、プログラムが終了したときには説明がありません。 私はいくつかの質問でユーザーが「true」を入力したときに、プログラムが質問を続けてほしいと思っています。

int main() 
{ 
cout << "Welcome to your personal seat booking program." << endl; 
cout << "Please follow the instructions to book your seat." << endl << endl; 
cout << "Would you like a seat by the window? (true/false)" << endl; 
cin >> userInputWindow; 
if (userInputWindow == true) 
{ 

cout << "Would you like a seat with a table? (true/false)" << endl; 
cin >> userInputTable; 
if (userInputTable == true) 
{ 
cout << "Would you like to be seated in First Class? (true/false)" << endl; 
cin >> userInputClass; 
if (userInputClass == true) 
{ 
cout << "Do you need Ease-Of-Access seating? (true/false)" << endl; 
cin >> userInputAccess; 
if (userInputAccess == true) 
{ 
cout << "Do you need a forward facing seat? (true/false)" << endl; 
cin >> userInputForward; 
if (userInputForward == true) 
{ 
cout << "Program terminated"; 
} 
else if (userInputForward == false) 
{ 
} 
} 
else if (userInputAccess == false) 
{ 
} 
} 
else if (userInputClass == false) 
{ 

} 
} 
else if (userInputTable == false) 
{ 

} 
} 
else if (userInputWindow == false) 
{ 

} 

この

http://www.tutorialspoint.com/cplusplus/cpp_if_else_statement.htm

あなたは真入る続ければ、これはあなたが探しているものであれば、知らないだろうプログラムを維持します。

+0

これは非常に役に立ちましたが、trueかfalseかにかかわらず、単にユーザーの設定を取得するプログラムを探しています。私は '\ * * \' if文を出してみましたが、それと同じ問題です。 – ProgrammerDope