Menu
Coddy logo textTech

Convertir en majuscules

Fait partie de la section Logique & Flux du Journey C de Coddy. Leçon 23 sur 63.

challenge icon

Défi

Facile

Étendez votre programme utilitaire de texte de la leçon précédente afin d’ajouter une fonctionnalité de conversion en majuscules. Votre programme doit :

  1. Demander à l’utilisateur de saisir une courte phrase en affichant : Enter a sentence: (sans retour à la ligne à la fin)
  2. Déclarer un tableau de caractères nommé sentence contenant 200 éléments pour stocker la saisie
  3. Utiliser scanf avec le spécificateur de format %s pour lire un seul mot saisi par l’utilisateur
  4. Afficher le mot enregistré au format : You entered: [word]
  5. Utiliser strlen() pour calculer le nombre total de caractères du mot
  6. Afficher le nombre de caractères au format : Character count: [count]
  7. Afficher la longueur en utilisant strlen() au format : Length: [length]
  8. Parcourir chaque caractère du mot à l’aide d’une boucle pour compter les voyelles
  9. Pour chaque caractère, vérifier s’il s’agit d’une voyelle (a, e, i, o, u), en minuscules comme en majuscules
  10. Maintenir un décompte courant des voyelles trouvées
  11. Afficher le nombre de voyelles au format : Vowel count: [count]
  12. Afficher Uppercase: , puis utiliser une boucle pour convertir et afficher chaque caractère du mot en majuscule à l’aide de la fonction toupper()

N’oubliez pas d’inclure l’en-tête <string.h> pour utiliser la fonction strlen() et l’en-tête <ctype.h> pour utiliser la fonction toupper().

À propos de toupper() :
La fonction toupper() de <ctype.h> convertit un seul caractère dans son équivalent majuscule. Si le caractère est déjà en majuscule ou s’il ne s’agit pas d’une lettre, il est renvoyé inchangé.
Exemple : toupper('a') renvoie 'A', et toupper('Z') renvoie 'Z'.
Vous pouvez l’utiliser dans une boucle pour convertir chaque caractère un à un : printf("%c", toupper(sentence[i]));

Important : L’invite Enter a sentence: ne doit pas être suivie d’un retour à la ligne. Utilisez printf("Enter a sentence: "); sans \n.

Votre sortie doit afficher les résultats au format suivant :

Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]

Par exemple, si la saisie est :

Programming

Votre sortie doit être :

Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMING

Ce défi s’appuie sur la leçon précédente en ajoutant une fonctionnalité de conversion en majuscules à l’aide de la fonction toupper() de la bibliothèque <ctype.h>. Vous devrez utiliser une boucle pour parcourir chaque caractère de la chaîne et le convertir en majuscule, puis afficher le résultat transformé.

Essayez vous-même

#include <stdio.h>
#include <string.h>

int main() {
    printf("Enter a sentence: \n");
    
    char sentence[200];
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int char_count = strlen(sentence);
    printf("Character count: %d\n", char_count);
    
    int length = strlen(sentence);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < strlen(sentence); i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    
    printf("Vowel count: %d\n", vowel_count);
    
    return 0;
}

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur C en ligne