J'ai créé un programme en C++ qui demande une entrée entière. Le programme se bloque après seulement 2 itérations. Le code est ci-dessous:une seule instruction sous instruction if en cours d'exécution
#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;
}
J'ai alors essayé de faire ceci:
if(user_choice == 5)
std::cout << "Program Crash";
//std::cout << "Shutting Down";
Ce qui a fonctionné. Pourquoi commenter la deuxième ligne, le programme fonctionne-t-il correctement?
'if (condition) {instruction1; statement2; } ' – LogicStuff
@LogicStuff Pourriez-vous s'il vous plaît vous expliquer comment vous commentez un peu plus –
Il y a plus dans votre code, par exemple, pourquoi comparez-vous' user_choice' avec '5' littéral, alors que vous devriez faire' user_choice == right_answer'? Pourquoi ressentez-vous le besoin d'assigner 'right_answer' à' user_choice' s'ils sont déjà égaux? Vous avez également codé '' 5'' dans les messages de sortie ... – LogicStuff