C++ VALIDATION
k-23
Messages postés
252
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je voudrais savoir comment je peut valider une valeur en c++
int b:
cin>>b;
if (b >= 0){
cout<< "allo";
}else {
cout <<"salut";
}
voila mon probleme quand je met un entier c correct s'affiche allo mais quand je met un caractere s'affiche aussi allo(jai pas le droit dutiliser la stl) merci pour laide
je voudrais savoir comment je peut valider une valeur en c++
int b:
cin>>b;
if (b >= 0){
cout<< "allo";
}else {
cout <<"salut";
}
voila mon probleme quand je met un entier c correct s'affiche allo mais quand je met un caractere s'affiche aussi allo(jai pas le droit dutiliser la stl) merci pour laide
A voir également:
- C++ VALIDATION
- Pb retour sur site marchand après validation du paiement - Forum Consommation & Internet
- Excel validation des données liste - Guide
- Temps validation annonce le bon coin - Forum Réseaux sociaux
- Commande en cours de validation fnac - Forum Réseaux sociaux
- Commande Fnac en attente d’acceptation ✓ - Forum Consommation & Internet
5 réponses
pour traiter les caractère vous devriez déclarer un char
char b;// possibilité de traiter les int et les caractère
char b;// possibilité de traiter les int et les caractère
je peux vous dire la cause:
cdlt
Caractère (char) Le type char permet de stocker la valeur ASCII d'un caractère, c'est-à-dire un nombre entier ! Par défaut les nombres sont signés, cela signifie qu'ils comportent un signe. Pour stocker l'information concernant le signe (en binaire), les ordinateurs utilisent le complément à deux. Une donnée de type char est donc signée, cela ne signifie bien sûr pas que la lettre possède un signe mais tout simplement que dans la mémoire la valeur codant le caractère peut être négative... Si jamais on désire par exemple stocker la lettre B (son code ASCII est 66), on pourra définir cette donnée soit par le nombre 66, soit en notant 'B' où les apostrophes simples signifient code ascii de...
cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La solution, c'est plutôt que de capturer un entier, de capture du texte et de faire le traitement après.
char d[10]; cin>>d; int i=0; while (d[i]!='\0') { if (d[i]<'0' || d[i]>'9') cout<<"erreur \n"; i++; } // passage de chaine à nombre. int b; sscanf(d,"%d",&b); // vérifier l'utilisation de cette fonction, car je l'utilise peuEt là tu es sur que tu as un nombre. Enfin, là je ne traite pas l'erreur, je te laisse le soin de le faire ;-)