Question C++

tuning4ever Messages postés 544 Date d'inscription   Statut Membre Dernière intervention   -  
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   -
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 9813 Date d'inscription   Statut Contributeur Dernière intervention   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 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
CQFD
0
francis
 
"while(chDeg!='C' && chDeg!='F')" ?
lol...
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
je ne comprends pas la raison de ta remarque francis. Merci d'expliquer un peu plus.
0
tuning4ever Messages postés 544 Date d'inscription   Statut Membre Dernière intervention   27
 
Ok je vais tenter ca! Merci de la rapidité de ta réponse Char!
0
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   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