Bonjour,
Je suis nouveau sur ce forum.Je suis passioné d'informatique .j'ai commencé a apprendre le language C.Cela fait quelque mois.Pour cela je me suis attaqué au livre nommé "the C programming language".Toutefois je n'est aucune connaissance pratiquant la programmation alors je souhaitai partager un peux de mon temp avec vous .
J'ai une petite interrogation a propos d'un code que j'ai écris pour un exercice.L'exercice demande d'écrire un code afin de déssiner un diagramme énumérant le nombre de lettre par mot.
J'ai donc commencé a gratter mon cailler de brouillon.J’essaye de construire mon code par étape et cela me parait plus clair.
Afin de déterminer si le caractère est une lettre j'ai fait comme cela:
Mais ca ne fonctionne pas.Apparemment je ne peux pas utiliser les valeur ascii des caractère dans les condition de if.Dumoin de cette manière.Ou alor est-je fait une autre érreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #include <stdio.h> int main(){ int i , c , nblettre; /*Je déclare mes variables.c pour enregister la valeur getchar() et nblettre pour enregistré la valeur du nb de lettre dans un mot*/ int tabnblettre[20];/*Je déclare mon tableau pour décompter les mot par nombre de lettre.tabnlettre[1] = mot a une lettre...*/ c = nblettre = 0;/*J'initialise mes variables c et nblettre*/ for(i=0;i<20;++i) /*j'initialise toute mes variables du tableau a 0*/ tabnblettre[i]=0; while((c=getchar())!=EOF){ if(c>=65 && c<=90)/*Déterminer si ce sont des lettres*(minuscule dans le tb ascii)*/ ++nblettre; else if (c>=97 && c<=122)/*Determiner si ce sont des lettres(majuscule dans tableau ascii)*/ ++nblettre; else ++tabnblettre[nblettre];/*si ce n'est ni une maj ni une min c'est que l'on sort du mot alor j'incrémente la valeur dans mo tableau*/ nblettre = 0; } printf("\nClassement de mot par longeur de lettre:"); for(i=0;i<20;++i) printf("\nMot a %d lettre : %d mot",i,tabnblettre[i]); }
Merci d'avance
Partager