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
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.
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 */
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
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