Erreur sur l'entré d'1 char

Signaler
Messages postés
10
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
23 février 2006
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
salut,
voila je demande de rentré a lutilisateur un nopm ki é une chaine de caractère char, jaimeré que si celui-ci tape un nombre ca lui redemande de taper correctement.
je pense kil fo faire un if mais je ni arrive ^pas. Pourriez vous maider svp...
merci d'avance
ddd666

11 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Et bien tu pourrait examiner tout le tableau de ton char pour vérifier si il n'y a pas de chiffre par exemples:

int TableauPosition = NULL;

while((Nom du char)[TableauPosition] != '\0')
{
if(isdigit((Nom du char)[TableauPosition] == 0)
{
/* le texte à écrire avec les opération supplémentaire si il y en a */

break;
}
TableauPosition++;
}

Je peut me tromper mais je croit que sa fonctionnera.
Messages postés
10
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
23 février 2006

salut
ca marche pas
g tapez ca:

#include


int main()


{



char nomdouanier_[26];



int TableauPosition=NULL;



while((nomdouanier_[26])[TableauPosition]!='/0')


{



if(isdigit(nomdouanier_[26])[TableauPosition]==0){


cout<<"saisissez votre nom"<<endl;


cin>>nomdouanier_;



break;}


TableauPosition++;


}



return 0;


}

c bon????
merci
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Non ce n'est pas correct. Regarde. Tu fais (
nomdouanier_[26])[TableauPosition]. Mais il faut faire
nomdouanier[TableauPosition]

J'ai corrigé ta source

#include

int main()


{

int TableauPosition= NULL;


while( nomdouanier[TableauPosition] ! = '\0') /* n'oublie pas que c'est \ pas /


{


if(isdigit
(nomdouanier[TableauPosition])
0){


cout<<"saisissez votre nom"<<endl;


cin>>nomdouanier_;


break;}


TableauPosition++;


}


return 0;


}

ça devrais fonctionner maintenant.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Wow je vien de regarder ta source bien correctement et je remarque quelque problème supplémentaire. Bon si je comprend ta question, tu veut que chaque caractère soit tester un a la suite de l'autre? Mais ce n'est pas du tout cela que je t'explique. Ce que je décrit c'est comment tester ton tableau nomdouanier après avoir entré le nom pas pendant. J'ignore comment faire pour chaque caractère individuel. Désolé. Mais pour que le test du tableau fonctionne correctement après la saisie, et bien essais:
int main()


{


char nomdouanier[Valeur maximal du tableau];

cout<<"saisissez votre nom"<<endl;




cin>>nomdouanier;


int TableauPosition= NULL;


while( nomdouanier[TableauPosition] ! ='\0') /* c'est \0 pas /0 */


{


if(isdigit(nomdouanier[TableauPosition])==0)

{

cout << "entré invalide"<<endl;

/* ce que tu veut faire */


break; /* uniquement pour quitter la boucle si c'est ton choix */

}


TableauPosition++;


}


return 0;


}
Messages postés
10
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
23 février 2006

merci
bcp
Messages postés
10
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
23 février 2006

ca marche po
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
D'accord c'est ma faute. Le code est bon. Juste une petite érreure. C'est pas isdigit(nomdouanier[TableauPosition])==0, c'est
isdigit(nomdouanier[TableauPosition])!=0
Messages postés
10
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
23 février 2006

ca marche pas il y a 3 message d'erreur:
-initialisation to non-pointer type'int' from NULL //pour la ligne int tablo
-argument to non-pointer type 'int' from NULL //idem
-invalide type 'char[int]' for array subscript //pour la ligne isdigit
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
comment à tu écrit ton bout de code.
Messages postés
10
Date d'inscription
jeudi 19 janvier 2006
Statut
Membre
Dernière intervention
23 février 2006

bout de code?
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Comment écrit tu le code que je t'ai montré. L'écrit tu exactement comme je l'écrit? À tu oublier d'inclure le header ctype.h?