Ich habe ein Programm in C++, die für jede Ganzzahleingabe fragen. Das Programm stürzt nach nur 2 Iterationen ab. Der Code ist unten:nur eine Anweisung unter if-Anweisung ausgeführt wird
#include<iostream>
int main()
{
int user_choice;
std::cout <<"Please enter any number other than five: ";
std::cin >> user_choice;
while(user_choice != 5)
{
std::cout <<"Please enter any number other than five: ";
std::cin >> user_choice;
if(user_choice == 5)
std::cout << "Program Crash";
break;
}
std::cout << "I told you not to enter 5!";
return 0;
}
ich dann versucht, dies zu tun:
if(user_choice == 5)
std::cout << "Program Crash";
//std::cout << "Shutting Down";
Welche gearbeitet. Warum führt das Auskommentieren der zweiten Zeile dazu, dass das Programm ordnungsgemäß ausgeführt wird?
'if (Bedingung) {Anweisung1; Aussage2; } ' – LogicStuff
@LogicStuff Könnten Sie bitte erklären Sie ein wenig mehr Kommentar –
Es gibt mehr zu Ihrem Code, wie, warum vergleichen Sie' user_choice' mit '5' literal, wenn Sie tun sollten' user_choice == right_answer'? Warum haben Sie das Gefühl, 'right_answer' zu' user_choice' zuzuweisen, wenn sie bereits gleich sind? Du hast auch '5' in die Ausgabenachrichten geschrieben ... – LogicStuff