Question C++

tuning4ever Messages postés 654 Statut Membre -  
cchristian Messages postés 928 Statut Membre -
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

Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
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
Nabla's Messages postés 20731 Statut Contributeur 3 193
 
CQFD
0
francis
 
"while(chDeg!='C' && chDeg!='F')" ?
lol...
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
je ne comprends pas la raison de ta remarque francis. Merci d'expliquer un peu plus.
0
tuning4ever Messages postés 654 Statut Membre 27
 
Ok je vais tenter ca! Merci de la rapidité de ta réponse Char!
0
cchristian Messages postés 928 Statut Membre 131
 
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;
}

}
0