Comment quitter une boucle while
immédiatement sans aller à la fin du bloc?
Par exemple,
while (choice != 99)
{
cin >> choice;
if (choice == 99)
//Exit here and don't get additional input
cin>>gNum;
}
Des idées?
Utilisez pause?
while(choice!=99)
{
cin>>choice;
if (choice==99)
break;
cin>>gNum;
}
cin >> choice;
while(choice!=99) {
cin>>gNum;
cin >> choice
}
Vous n'avez pas besoin d'une pause, dans ce cas.
Utilisez break , comme tel:
while(choice!=99)
{
cin>>choice;
if (choice==99)
break; //exit here and don't get additional input
cin>>gNum;
}
Cela fonctionne pour pour les boucles également, et c'est le mot clé pour terminer une clause switch. Plus d'informations ici .
break;
.
while(choice!=99)
{
cin>>choice;
if (choice==99)
break;
cin>>gNum;
}
Oui, la pause fonctionnera. Cependant, vous pouvez constater que de nombreux programmeurs préfèrent ne pas l'utiliser lorsque cela est possible, plutôt utiliser une instruction conditionnelle if pour effectuer autre chose dans la boucle (donc, ne pas l'exécuter et quitter la boucle proprement)
Quelque chose comme ça va réaliser ce que vous recherchez, 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, cela sortira de la boucle. Si cela ne fonctionne pas, rien ne fonctionnera. Attention, ce n'est peut-être pas ce que vous voulez ...
Ouais, je suis presque sûr que tu viens de mettre
break;
là où vous voulez qu'il sorte
comme
if (variable == 1)
{
//do something
}
else
{
//exit
break;
}
Essayer
break;