C++ | comptage caractériel
Fermé
Arkan
-
30 sept. 2008 à 10:20
jihelge Messages postés 71 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 4 octobre 2008 - 30 sept. 2008 à 10:57
jihelge Messages postés 71 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 4 octobre 2008 - 30 sept. 2008 à 10:57
A voir également:
- C++ | comptage caractériel
- Grille de comptage - Forum Loisirs / Divertissements
- Logiciel de comptage sur photo - Télécharger - Études & Formations
- Imprimer grille ✓ - Forum LibreOffice / OpenOffice
- Tri par comptage python - Forum Programmation
- Grille de points pour belote - Forum Graphisme
3 réponses
Malheureusement tu ne m'apprend rien la, mon souci n'est uniquement ici que la manière de compter des mots dans une phrase. Le reste ça marche correctement, je me suis pas encore penché de comment l'optimiser mais ce sera le but de la suite du tp. Je préfère fonctionner avec l'organisation du prof plutôt que d'aller trop vite. (sinon je pense déjà que j'aurai utiliser des classes pour faire ça, s'aurai été plus simple.
jihelge
Messages postés
71
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
4 octobre 2008
7
30 sept. 2008 à 10:42
30 sept. 2008 à 10:42
Problème de base du premier étage de l'analyseur lexicale d'un compilateur :
reperer les mots etc...
Avoir une chaine contenant tous les séparateurs de mots : unsigned char sep[]=" ,.;:/!?\'{([)})"""=+*"; //etc
faire une bloucle et considérer la longueur du mot, un mot vide n'est pas un mot. Une phrase vide ma fois pourquoi pas.
La bloucle (puisque je l'ai écris ainsi :-)) ) est dans une fonction qui cherche un mot, celle ci est dans une boucle (ce coup ci) qui s'rrêtera en fin de phrase (ou de texte) c'est dans celle ci que tu compte
la fonction cherche_mot compte les voyelles les consonnes mais beaucoup d'autres choses (symboles rencontrés)
Pour les voyeles et consonne défint aussi deux tableaux
char voyelles="aeiouyAEIOUY123456_-"
char consonnes="bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ"
quand tu lis un char dans la phrase tu le compare au contenu de sep, voyelles ou de consonnes grace à la fonction standard (<string.h>) char *strchr(cs,c) (cs étant le pointeur de la chaine sep ou voyelles ou consonnes, c étant le caractère lu)
On peut faire mieux avec un fonctionnement en switch()case et une structure d'automate qui saura lire des mots des nombres des réels... dans une boucle
Bon TP je t'en dis pas plus c'est toi qui apprends pas moi
reperer les mots etc...
Avoir une chaine contenant tous les séparateurs de mots : unsigned char sep[]=" ,.;:/!?\'{([)})"""=+*"; //etc
faire une bloucle et considérer la longueur du mot, un mot vide n'est pas un mot. Une phrase vide ma fois pourquoi pas.
La bloucle (puisque je l'ai écris ainsi :-)) ) est dans une fonction qui cherche un mot, celle ci est dans une boucle (ce coup ci) qui s'rrêtera en fin de phrase (ou de texte) c'est dans celle ci que tu compte
la fonction cherche_mot compte les voyelles les consonnes mais beaucoup d'autres choses (symboles rencontrés)
Pour les voyeles et consonne défint aussi deux tableaux
char voyelles="aeiouyAEIOUY123456_-"
char consonnes="bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ"
quand tu lis un char dans la phrase tu le compare au contenu de sep, voyelles ou de consonnes grace à la fonction standard (<string.h>) char *strchr(cs,c) (cs étant le pointeur de la chaine sep ou voyelles ou consonnes, c étant le caractère lu)
On peut faire mieux avec un fonctionnement en switch()case et une structure d'automate qui saura lire des mots des nombres des réels... dans une boucle
Bon TP je t'en dis pas plus c'est toi qui apprends pas moi
jihelge
Messages postés
71
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
4 octobre 2008
7
30 sept. 2008 à 10:57
30 sept. 2008 à 10:57
si tu tiens compte de la longueur des mot les mots vides ne seront pas comptés car tu aura de toute façon le problème avec un espace derrière une virgule etc.