Sortir du milieu d'un c ++ boucle while

Parfois, la condition qui vous fait mettre fin à une tandis que boucle ne se produit pas jusqu'à ce que quelque part au milieu de la boucle. Cela est particulièrement vrai lors de l'essai d'entrée d'utilisateur pour un certain caractère de fin. C ++ fournit ces deux commandes de contrôle pour gérer ce cas:

  • pause sort de la boucle la plus interne immédiatement.

  • continuer passe le contrôle vers le haut de la boucle.

Ce qui suit Produit programme démontre à la fois pause et continuer. Ce programme multiplie les valeurs positives saisies par l'utilisateur jusqu'à ce que l'utilisateur entre un nombre négatif. Le programme ignore zéro.

//// Produit - démontrer l'utilisation de break et continue .//# comprennent #comprendre #comprendre using namespace std-int main (int nNumberofArgs, char * pszArgs []) {// entrez le numéro de calculer la factorielle ofcout lt; lt; «Ce programme multiplie les numéros n" lt; lt; "entré par l'utilisateur Entrez un n négative." lt; lt; "Numéro pour quitter zéros sont ignorés. n". lt; lt; endl-int nProduct = 1 while (true) {int nValue-cout lt; lt; "Entrez un nombre à se multiplier:" -cin >> nValue-si (nValue lt; 0) {cout lt; lt; "Quitter". lt; lt; endl-percée} if (nValue == 0) {cout lt; lt; "Ignorant zéro." lt; lt; endl-continuera -} // accumulateur multiplier par cette valeur et la sortie // resultcout lt; lt; nProduct lt; lt; "*" lt; lt; nValue-nProduct * = nValue-cout lt; lt; " est " lt; lt; nProduct lt; lt; endl -} // attend que l'utilisateur est prêt avant de terminer le programme // pour permettre à l'utilisateur de voir le resultscout de programme lt; lt; "Appuyez sur Entrée pour continuer ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - retourner 0-}



Le programme commence avec une valeur initiale de nProduct 1. Le programme évalue ensuite l'expression logique vrai pour voir si elle est vrai. C'est.

Il n'y a pas trop de règles qui tiennent en C ++ sans exception, mais en voici une: vrai est toujours vrai.

Le programme passe ensuite dans la boucle pour inviter l'utilisateur à une autre valeur de multiplier les temps nProduct, le produit cumulé de tous les numéros inscrits jusqu'à présent. Si la valeur entrée est négative, alors le programme génère la phrase "Quitter". avant d'exécuter la pause, qui passe commande hors de la boucle.

Si la valeur entrée est négative, le contrôle passe à la seconde si déclaration. Si nValue est égal à zéro, alors le programme émet les messages "Ignorant zéro." avant d'exécuter la continuer déclaration qui passe le contrôle au début de la boucle pour permettre à l'utilisateur de saisir une autre valeur.

Si nValue est ni inférieur à zéro, ni zéro, alors le contrôle des flux à l'endroit où nValue est multiplié par nProduct l'aide de l'opérateur d'affectation spéciale:

nProduct * = nValue-

Cette expression est la même que:

nProduct = nProduct * nValue-

La sortie d'un exemple d'exécution de ce programme se présente comme suit:

Ce programme multiplie le numbersentered par l'utilisateur. Entrez un negativenumber pour quitter. Zéros sont ignored.Enter un certain nombre de multiplier: 21 * 2 est 2Entrez un certain nombre de multiplier: 52 * 5 est 10Saisissez un certain nombre de multiplier: 0Ignorant zero.Enter un certain nombre de multiplier: 310 * 3 est 30Enter un certain nombre de multiplier: -1Exiting.Press Entrée pour continuer. . .

» » » » Sortir du milieu d'un c ++ boucle while