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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| #include <stdio.h>
#include <string.h>
#include <ctype.h>
typedef struct {
unsigned char voy[10];
unsigned long cpt;
} t_voy;
t_voy *exploreTab(unsigned char c, t_voy *tabVoy) {
t_voy *ptVoy;
unsigned char *ptC;
for (ptVoy=tabVoy; ptVoy->voy[0] != '\0'; ptVoy++) {
for (ptC=ptVoy->voy; *ptC != '\0'; ptC++)
if (c == *ptC) return ptVoy;
}
return NULL;
}
int main(void) {
unsigned char text[256];
t_voy tabVoy[]={
{{'a', 133, '\0'}, 0},
{{'e', 130, 136, 138, '\0'}, 0},
{"i", 0},
{"o", 0},
{"u", 0},
{"y", 0},
{"", 0},
};
t_voy *ptVoy;
unsigned long totalV;
size_t i;
printf("Entre votre text ici : ");
fgets(text, 256, stdin);
for (i = 0, totalV=0; text[i] != '\0'; i++) {
if ((ptVoy=exploreTab(tolower(text[i]), tabVoy)) != NULL) {
ptVoy->cpt+=1;
totalV+=1;
}
}
for (ptVoy=tabVoy; ptVoy->voy[0] != '\0'; ptVoy++)
printf("Total voyelles (%s) est : %lu\n", ptVoy->voy, ptVoy->cpt);
printf("Total voyelles est : %lu\n", totalV);
return 0;
} |