Question C++

Bonjour,

Je débute en C++, et je dois faire un programme de conversion de températures, des degrés celsius en degrés fahrenheit, et inversément!
j'ai écrit 95 % du programme, mais j'ai un souci vers la fin:
En gros, je demande a l utilisateur de me préciser s il va in troduire des celsius (C) ou des fahrenheit(F). Si il mets F, je procede a un calcul, et si il met C, je procede au calcul inverse! Si il introduit une autre valeur, je lui fais savoir qu il doi mettre une des valeur citées avant, mais je sais pas comment dire au programme de revenir à:

cout<<"veuillez entrer 'F' pour une conversion Fahrenheit->Celsius, ou 'C' pour une conversion Celsius->Fahrenheit"<< endl;
cin >> chDeg;
afin que l utilisateur redonne une lettre

j espere avoir été clair

merci d avance

2 réponses

  1. Contributeur
    il faut faire une boucle type while :
    do{
       cout<<"veuillez entrer 'F' pour une conversion Fahrenheit->Celsius, ou 'C' pour une conversion Celsius->Fahrenheit"<< endl;
        cin >> chDeg; 
    }while(chDeg!='C' && chDeg!='F')
    1. Contributeur
      CQFD
    2. "while(chDeg!='C' && chDeg!='F')" ?
      lol...
    3. Contributeur
      je ne comprends pas la raison de ta remarque francis. Merci d'expliquer un peu plus.
    4. Ok je vais tenter ca! Merci de la rapidité de ta réponse Char!
  2. Bonsoir,

    Dans le même esprit que Char Snipeur j'ai remodelé une séquence de l'un de mes programmes:

    int main ()
    {
    char chDEG = '\0' ;
    system ("cls") ;

    do
    {

    cout <<"\n\nEntrer 'F' pour une conversion Fahrenheit->Celsius"<< endl;
    cout <<" ou 'C' pour une conversion Celsius->Fahrenheit." << endl;
    cout <<"\n 'X' pour arreter le traitement." << endl;

    if ( chDEG == '\xd')
    { cout <<"\n\n SAISIR : 'F', 'C' ou 'X'." << endl;}
    else
    {
    if (chDEG != '\0')
    { cout <<"\n\n "<<chDEG
    <<" <== CARACTERE SAISI ERRONE." << endl;}
    }

    chDEG = _getwch () ;
    // OU cin>> chDEG; _getwch permet d'éviter la confirmation de la saisie et
    // également la saisie de plusieurs caractères.

    system ("cls") ;

    }while ( chDEG != 'F' && chDEG != 'C'
    && chDEG != 'X' ) ;

    cout <<"\n\n\n" << endl;
    if ( chDEG == 'F' )
    {
    cout<<"APPEL DU TRAITEMENT CORRESPONDANT A F " << endl;
    }
    else
    if ( chDEG == 'C' )
    {
    cout <<" APPEL DU TRAITEMENT CORRESPONDANT A C " << endl;
    }
    else
    {
    cout <<" TRAITEMENT INTERROMPU PAR L'UTILISATEUR. " << endl;
    }

    }