sortie immédiate de « tout » boucle en C ++ [fermée]
-
22-08-2019 - |
Question
Comment puis-je sortir d'une boucle immédiatement sans aller while
à la fin du bloc?
Par exemple,
while (choice != 99)
{
cin >> choice;
if (choice == 99)
//Exit here and don't get additional input
cin>>gNum;
}
Toutes les idées?
La solution
Utilisez pause?
while(choice!=99)
{
cin>>choice;
if (choice==99)
break;
cin>>gNum;
}
Autres conseils
cin >> choice;
while(choice!=99) {
cin>>gNum;
cin >> choice
}
Vous n'avez pas besoin d'une pause, dans ce cas.
break;
.
while(choice!=99)
{
cin>>choice;
if (choice==99)
break;
cin>>gNum;
}
Oui, pause fonctionnera. Cependant, vous pouvez constater que de nombreux programmeurs préfèrent ne pas l'utiliser si possible plutôt utiliser une instruction conditionnelle if pour effectuer toute autre chose dans la boucle (donc pas effectuer et sortir de la boucle proprement)
Quelque chose comme ça réaliser ce que vous cherchez, sans avoir à utiliser une pause.
while(choice!=99) {
cin >> choice;
if (choice != 99) {
cin>>gNum;
}
}
hmm, break
?
while(choice!=99)
{
cin>>choice;
if (choice==99)
exit(0);
cin>>gNum;
}
Croyez-moi, qui sortir de la boucle. Si cela ne fonctionne pas rien ne va. L'esprit, cela peut ne pas être ce que vous voulez ...
Oui, je suis sûr que vous venez de mettre
break;
là où vous le souhaitez quitter
comme
if (variable == 1)
{
//do something
}
else
{
//exit
break;
}
Essayez
break;
Vous ne devez jamais utiliser une instruction break pour sortir d'une boucle. Bien sûr, vous pouvez le faire, mais cela ne signifie pas que vous devriez. Il est tout simplement pas une bonne pratique de programmation. La façon de sortir plus élégant est le suivant:
while(choice!=99)
{
cin>>choice;
if (choice==99)
//exit here and don't get additional input
else
cin>>gNum;
}
si le choix est 99 il n'y a rien d'autre à faire et la boucle se termine.