Probleme de cin
2013jawhara
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai essayé de résoudre un exercice qui demande de :
Ecrire un programme qui saisit le poids, la taille, le sexe, et qui calcule l’IMC. En utilisant le
tableau suivant, indiquer l’état de poids (maigreur, poids normal, …).
et j'ai écrit ce code :
le probleme est dans l'affichage : il me ne laisse pas ecrire femme ou homme
est affiche :
entrez poid:90
entrez taille:1,80
ecrire si vous etrez un homme ou une femme
AdipositÚ
--------------------------------
Process exited after 8.709 seconds with return value 0
Appuyez sur une touche pour continuer...
stp aide moi
J'ai essayé de résoudre un exercice qui demande de :
Ecrire un programme qui saisit le poids, la taille, le sexe, et qui calcule l’IMC. En utilisant le
tableau suivant, indiquer l’état de poids (maigreur, poids normal, …).
et j'ai écrit ce code :
#include<iostream> #include<string> using namespace std ; main(){ float a,b,imc; char c; cout<<"entrez poid:";cin>>a; cout<<"entrez taille:";cin>>b; cout<<"ecrire si vous etrez un homme ou une femme \n"; cin>>c; if(c='femme'){ imc=(a)/(b*b); if(imc<19){ cout<<"Maigreur"; }else if(imc>=19 && imc<24){ cout<<"Poids normal"; }else if(imc>=24 && imc<30){ cout<<"Surcharge pondérale"; }else if(imc>=30 && imc<40){ cout<<"Adiposité "; } if(imc>=40){ cout<<"Adiposité "; } }else if(c='homme'){ imc=(a)/(b*b); if(imc<20){ cout<<"Maigreur"; } if(imc>=20 && imc<25){ cout<<"Poids normal"; } if(imc>=25 && imc<30){ cout<<"Surcharge pondérale"; } if(imc>=30 && imc<40){ cout<<"Adiposité "; } if(imc>=40){ cout<<"Adiposité "; } }else{cout <<"erreur";} }
le probleme est dans l'affichage : il me ne laisse pas ecrire femme ou homme
est affiche :
entrez poid:90
entrez taille:1,80
ecrire si vous etrez un homme ou une femme
AdipositÚ
--------------------------------
Process exited after 8.709 seconds with return value 0
Appuyez sur une touche pour continuer...
stp aide moi
A voir également:
- Character constant too long for its type c
- Le bon cin - Guide
- Barbie mania : attention aux fausses places de ciné et autres arnaques ! - Accueil - Arnaque
1 réponse
Salut 2013jawhara,
Ton code est difficile à lire car tu n'as pas utilisé les balises de code du forum pour le poster (explications là).
En survolant ton code rapidement, on voit y voit plusieurs problèmes.
Corrige déjà ces problèmes, teste ton code corrigé, et si tu as de nouveau un problème que tu n'arrives pas à résoudre, poste ton code rectifié sur le forum avec les balises de code pour qu'il soit correctement posté et en expliquant la nature de ton problème.
Dal
Ton code est difficile à lire car tu n'as pas utilisé les balises de code du forum pour le poster (explications là).
En survolant ton code rapidement, on voit y voit plusieurs problèmes.
- pour stocker
"femme"
ou"homme"
en C++ tu peux utiliser un typestring
, pas un typechar
qui ne permet de stocker qu'un seul caractère - l'opérateur d'égalité est
==
et non pas=
qui est un opérateur d'affectation - une chaîne littérale
"femme"
est délimitée par des guillemets"
et non pas par des apostrophes (qui servent à délimiter un char)
Corrige déjà ces problèmes, teste ton code corrigé, et si tu as de nouveau un problème que tu n'arrives pas à résoudre, poste ton code rectifié sur le forum avec les balises de code pour qu'il soit correctement posté et en expliquant la nature de ton problème.
Dal
Par exemple, g++ avec l'option -Wall compile ton code avec les avertissements suivants :
Tu ne devrais pas ignorer ces avertissements. Ils t'indiquent des problèmes dans ton code. Tu dois comprendre la raison pour laquelle chaque avertissement se manifeste et corriger ton code jusqu'à ce qu'il compile proprement sans erreurs ni avertissements.