Bonjour à tous,
j'ai ecrit une fonction qui normalise un caractere diacrité en un caractere standard mais je trouve mon code pas optimisé
Je compte sur vous pour des conseils d’amélioration plutot que plein de conditions et de tests.
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 /* normalise_char -- fonction qui normalise les caracteres diacrités par leur equivalents non diacrités * * et les caracteres non diacrités par leur forme minuscule * * parametres : c, caractere à normaliser * * retour : le caractere diacrité par son equivalent non diacrité en minuscule ou le caractere non diacrité en minuscule * */ char normalise_char(char c) { // si c'est une caractere diacrité if (estVoyelleDiac_fr(c) || estConsonneDiac_fr(c)) { if (c == 'à' || c == 'À' || c == 'â' || c == 'Â') return 'a'; else if (c == 'é' || c == 'è' || c == 'ê' || c == 'É' || c == 'È' || c == 'Ê' || c == 'Ë') return 'e'; else if (c == 'î' || c == 'ï' || c == 'Î' || c == 'Ï') return 'i'; else if (c == 'ô' || c == 'ö' || c == 'Ô' || c == 'Ö') return 'o'; else if (c == 'ù' || c == 'û' || c == 'ü' || c == 'Ù' || c == 'Û' || c == 'Ü') return 'u'; else if (c == 'ÿ') return 'y'; else if (c == 'ç') return 'c'; else return c; } // sinon, on retourne le caractère en minuscule else { return tolower(c); } }
du genre
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (fonction(c, "éèêë")) return 'e';
Partager