cin ne fonctionne pas - Help please - C++ - Programmation
Marsh Posté le 06-06-2006 à 09:28:14
Tu entres un char et tu test un int.
Utilises des string, et fait des comparaisons valables.
Marsh Posté le 06-06-2006 à 12:10:25
_darkalt3_ a écrit : et utilises des balises [ code ] stp |
Merci pour ton aide
Mais ça revient au même car je dois comparer des valeurs numériques, c'est pourquoi je n'utilise pas de char. Mais je l'ai fait avec un char et il me saute toujours le cin:
Ex :
char ad = -1;
do {
// Saisie adresse Recepteur
cout << "\nEntrez nombre (Intervalle [1 a 255]): ";
cin >> ad;
} while (ad < 1 || ad > 255);
Il ne l'exécute pas et passe à travers la boucle
Marsh Posté le 06-06-2006 à 13:49:43
'1' == 0x31 == 49 (en ascii)
Donc comparer des valeurs numériques entrées au clavier, non, c'est pas si évident.
Passe ton code au debugger, ca t'apprendra des choses sur l'execution de ton code.
Met un point d'arret dans la boucle et défile le, vérifie la valeur de "ad" au sortir de ta boucle.
Et si tu fais du c++, met des string, encore une fois.
Marsh Posté le 06-06-2006 à 22:18:56
_darkalt3_ a écrit : '1' == 0x31 == 49 (en ascii) |
Salut
Je te remercie bien mais le problème était à un autre niveau
C'est que j'avais un cin avant et mon buffer ne se vidait pas
J'ai utilisé l'instruction suivante et tout fonctionne bien.
cin.clear();
cin.ignore(1024, '\n');
Thanks
hm
Marsh Posté le 06-06-2006 à 23:30:32
je vois pas l'interet de faire cin.clear(), faut d'abord controller si les saisies sont valides
pour le cin.ignore tu specifier 'std::numeric_limits<std::streamsize>::max()' comme limite si tu veux eviter de mettre un nombre magique
Citation : C'est que j'avais un cin avant et mon buffer ne se vidait pas |
oui, si tu ne lis pas ce qu'il ya dedans
Marsh Posté le 06-06-2006 à 04:05:26
Bonjour
J'ai le dernier cin >> qui ne fonctionne pas dans ces lignes d'instructions
plus précisément au niveau du "while (choix >4)"
le cout << "\n1. choix1 \n2. choix2 ... le programme saute le cin et la saisie n'est pas effectuée.
Please help,
Thanks,
void traiterP(){
char Emet = -1;
int choix = 999;
do{
// Saisie des parametres
cout << "\nEntrez nombre " ;
cin >> adresseEmet;
} while (Emet < 1 || Emet > 255);
while (choix >4){
cout << "\n1. choix1 \n2. choix2 \n3. Choix3 \n4. Terminer" << endl;
cin >> choix;
} // while
if (choix == 1)
fonction1();
if (choix == 2)
fonction2();
else
exit (0) ;
}
hm10