Bonjour je cherche a écrire une fonction r_capitalyze qui prend en compte 2 paramètres : une chaîne de charactère et un entier 0 ou 1 ; si l'entier est de 0 alors la fonction doit remplacer les premières lettres de chaque mots de la chaîne par des majuscules et les autres en minuscules et inversement, si l'entier est de 1 la fonction devra renvoyez la chaîne de charactere rentrée en paramètre avec toutes les premières lettres de chaque mots en minuscules et les autres en majuscules, seulement j'en suis encore au début de mon code que j'ai un problème après avoir trouver la premiere lettre du premier mot je vérifie avec une condition qu'elle est en minuscule mais lorsque que je veut la convertire et l'afficher en majuscule rien ne se passe, je vous met mon code ci-dessous votre aide m'aiderais beaucoup a avancer, merci d'avance a vous tous !
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
31
32
33
34
35
36
37 #include <stdio.h> #include <string.h> #include <unistd.h> void r_capitalyze(char *str, int order) { int i = 0; if(order == 0) { while ((str[i] == ' ' || str[i] == '\t')) // chercher le début du premier mot { i++; } if(str[i] >= 'a' && str[i]<= 'z') // si le premier charactere est en minuscule { str[i] -= 32; //on le passe en maj printf("%c",str[i]); } else {printf("%c", str[i]);} // si il est en majuscule on le laisse en majuscule } } int main() { r_capitalyze(" noe", 0); }
Partager