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?

Était-ce utile?

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.

Utilisez casser , en tant que tel:

while(choice!=99)
{
  cin>>choice;
  if (choice==99)
    break; //exit here and don't get additional input
  cin>>gNum;
}

Cela fonctionne pour pour boucles aussi, et est le mot-clé pour mettre fin à une clause de commutation. Plus d'infos .

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top