2017-08-10 4 views
0

Nouveau sur Stack et C++. Je veux terminer une boucle qui régurgite les nombres qui lui sont donnés avec un caractère. Dites, Q pour quitter. Le programme suivant est fonctionnel et exempt d'erreurs de syntaxe. Comment puis-je terminer cette boucle sans modifier le paramètre d'entrée?Comment terminer une boucle d'entrée entière avec un caractère?

#include <iostream> 
#include <string> 

using namespace std; 

int main() 
{ 

    bool run = true; 

    while(run) 
    { 
    cout<<"Enter your two favorite numbers."<<endl; 

    int num1; 
    int num2; 

    cin>>num1>>num2; 

    cout<<"You entered "<<num1<<" and "<<num2<<"."<<endl; 

    } 

    return 0; 

} 

Répondre

0

Vous souhaitez le break statement. Mais vous devrez également lire une chaîne pour la première entrée, plutôt qu'un entier.

while(run) 
{ 
    cout<<"Enter your two favorite numbers, or 'Q' to exit."<<endl; 

    string input; 
    int num1; 
    int num2; 

    cin>>input1; 

    if (input == "Q") 
    { 
     break; 
    } 
    else 
    { 
     num1 = stoi(input); 
    } 

    cin>>num2; 

    cout<<"You entered "<<num1<<" and "<<num2<<"."<<endl; 
} 
+0

Pars, bien sûr! J'avais aussi des problèmes de syntaxe dans la déclaration break et après un peu d'ajustement, David a eu raison en premier lieu. Expérimentant également la possibilité de maintenir la variable booléenne dans les instructions if/else. Merci pour l'édition. – seekanddestroy1991