C : Expression avec espaces et union
Résolu/Fermé
musicetcie
Messages postés
391
Date d'inscription
mardi 10 juin 2008
Statut
Membre
Dernière intervention
24 mars 2013
-
27 mars 2011 à 15:41
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 27 mars 2011 à 16:59
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 27 mars 2011 à 16:59
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
27 mars 2011 à 15:45
27 mars 2011 à 15:45
Le mieux est de lire avec fgetc puisque tu dis "par caractère".
Ensuite, pour chaque caractère lu, tu regardes sa valeur. Si c'est compris entre '0' et '9' alors c'est un chiffre, sinon si c'est compris entre 'a' et 'z' (pareil pour les majuscules) alors c'est une lettre.
Cdlt,
Ensuite, pour chaque caractère lu, tu regardes sa valeur. Si c'est compris entre '0' et '9' alors c'est un chiffre, sinon si c'est compris entre 'a' et 'z' (pareil pour les majuscules) alors c'est une lettre.
Cdlt,
27 mars 2011 à 15:51
Mais pour lire la valeur du caractère, je n'utilise pas mes structures... Si?
Et comment je regarde si c'est compris entre a et z ? avec leur valeur ascii ?
27 mars 2011 à 15:57
Avec la façon que je t'ai donnée, tu en as pas besoin.
Sinon pour regarder si c'est compris entre 'a' et 'z' c'est la valeur ascii.
Par exemple : car=fgetc(...); if (car>='a' && car <='z') ...
27 mars 2011 à 16:00
27 mars 2011 à 16:56
aussi, si j'ai ma phrase "benjamin a 9 bonbons".
Est-il possible de créer un flottant qui prenne la valeur 9 ?
Parce que du coup, j'ai un char, et je voudrais un float...
Merci encore !!
27 mars 2011 à 16:59
Par exemple : tu as le caractère '9'.
Si tu fais : float a='9'-'0'; tu obtiendras a=9.0f.
Cdlt,