Accepter que les carractaire ou que les chiffres ?

Fermé
makblack Messages postés 48 Date d'inscription lundi 28 octobre 2013 Statut Membre Dernière intervention 4 novembre 2016 - Modifié par makblack le 4/12/2013 à 21:55
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 déc. 2013 à 11:48
Bonjour,

j'ai une question qui est la suivante : comment faire pour que j'ai un algorithme qui n'accepte que les carractaire ?
par exp : nom : 2325 , sa m'affiche erreur veillez introdiore un nom correcte .
parceque j"ai fait un petit test avec ASCII mai sa passe pas ,merci d'avence ^^.

3 réponses

makblack Messages postés 48 Date d'inscription lundi 28 octobre 2013 Statut Membre Dernière intervention 4 novembre 2016 8
4 déc. 2013 à 21:53
c'est bon j'ai trouvai mai bon fait que je fait un qui accepte que les chiffres mai pour sa je n'ai aucune idée svp aidé moi




#include <stdio.h>
#include <string.h>
void main ()
{
char nom[20];
int i,d=0;
while(d!=1)
{
printf("entré votre nom");
scanf("%s",&nom);
for(i=0;i<strlen(nom);i++)
{if((nom[i]<91 && nom[i]>64) || (nom[i]>96 && nom[i]<123))
d=1;
else
{
printf("\nentré un nom valide ");
i=strlen(nom)+1;
}}
}
}

0
makblack Messages postés 48 Date d'inscription lundi 28 octobre 2013 Statut Membre Dernière intervention 4 novembre 2016 8
4 déc. 2013 à 23:02
svp je veut juste l'idée pour faire un petit algo qui n"accepte que les chiffre svp svp que l'idée
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
8 déc. 2013 à 11:48
Bonjour,

Ton algorithme est bien compliqué.
Alors déjà, quelques corrections :
ce n'est pas void main() mais int main(void)
Ce n'est pas scanf("%s",&nom); mais scanf("%s",nom);
Plutôt que mettre les codes ascii, je te conseille de mettre le caractère correspondant entre apostrophe. Par exemple : '0' '9'. C'est beaucoup plus lisible.
Et enfin n'oublie pas le return 0; en fin de programme pour dire que tout s'est bien déroulé.

Concernant l'algorithme en lui-même, tu aurais mieux fait de faire une fonction. Ainsi tu n'as plus besoin de while(d!=1). Tu fais une boucle for, et dès que tu rencontres un nombre en dehors des bornes, tu fais un return. Terminé.

L'algo que je viens de te décrire est adaptable également pour les chiffres. Je te laisse donc faire à titre d'exercices. N'hésite pas à poster ton code pour qu'on puisse te corriger.
0