Erreur sur l'entré d'1 char

ddd666 Messages postés 10 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 23 février 2006 - 20 févr. 2006 à 13:22
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 27 févr. 2006 à 18:43
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

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
20 févr. 2006 à 19:08
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.
0
ddd666 Messages postés 10 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 23 février 2006
22 févr. 2006 à 13:18
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
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 févr. 2006 à 23:43
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.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 févr. 2006 à 04:04
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;


}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ddd666 Messages postés 10 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 23 février 2006
23 févr. 2006 à 10:00
merci
bcp
0
ddd666 Messages postés 10 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 23 février 2006
24 févr. 2006 à 12:55
ca marche po
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
24 févr. 2006 à 22:31
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
0
ddd666 Messages postés 10 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 23 février 2006
25 févr. 2006 à 17:50
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
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
25 févr. 2006 à 22:03
comment à tu écrit ton bout de code.
0
ddd666 Messages postés 10 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 23 février 2006
27 févr. 2006 à 16:35
bout de code?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
27 févr. 2006 à 18:43
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?
0
Rejoignez-nous