Convertir en majuscules
Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 23 sur 63.
Défi
FacileÉtendez votre programme d'utilitaire de texte de la leçon précédente pour ajouter une fonctionnalité de conversion en majuscules. Votre programme doit :
- Inviter l'utilisateur à saisir une courte phrase en affichant :
Enter a sentence:(pas de saut de ligne à la fin) - Déclarer un tableau de caractères nommé
sentenceavec 200 éléments pour stocker la saisie - Utiliser
scanfavec le spécificateur de format%spour lire un seul mot de l'utilisateur - Afficher le mot stocké au format :
You entered: [word] - Utiliser
strlen()pour calculer le nombre total de caractères dans le mot - Afficher le nombre de caractères au format :
Character count: [count] - Afficher la longueur en utilisant
strlen()au format :Length: [length] - Parcourir chaque caractère du mot à l'aide d'une boucle pour compter les voyelles
- Pour chaque caractère, vérifier s'il s'agit d'une voyelle (a, e, i, o, u) en minuscules et en majuscules
- Maintenir un décompte des voyelles trouvées
- Afficher le nombre de voyelles au format :
Vowel count: [count] - Afficher
Uppercase:puis utiliser une boucle pour convertir et afficher chaque caractère du mot en majuscules à l'aide de la fonctiontoupper()
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 en son équivalent en majuscule. Si le caractère est déjà en majuscule ou n'est pas une lettre, il est renvoyé inchangé.
Exemple : toupper('a') renvoie 'A', et toupper('Z') renvoie 'Z'.
Vous pouvez l'utiliser à l'intérieur d'une boucle pour convertir chaque caractère un par un : printf("%c", toupper(sentence[i]));
Important : L'invite Enter a sentence: ne doit pas être suivie d'un saut de 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 :
ProgrammingVotre sortie devrait être :
Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMINGCe 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, 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 Logic & Flow
1Les bases des pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de pointeursL'opérateur d'adresse (&)L'opérateur de déréférencement (*)Pointeurs NULLRécapitulatif : Les bases des pointeurs4Projet : Utilitaire de texte simple
Présentation du projetCompter les caractères2Pointeurs et Tableaux
Noms de tableaux comme pointeursÉléments de tableau - PointeursArithmétique des pointeursComparaison de pointeursRécapitulatif : Parcours de tableau par pointeur5Pointeurs et fonctions
Passage par valeurPassage de pointeurs aux fonctionsModifier des variables via des pointeursUn exemple classique : SwapPassage de tableaux aux fonctionsRécapitulatif : Pointeurs comme arguments de fonction3Tableaux de caractères et chaînes
Les chaînes comme tableaux de charLe terminateur nulSaisie de chaînes avec scanfUtilisation de strlen()Utilisation de strcpy()Utilisation de strcat()Utilisation de strcmp()Récapitulatif : Fonctions de base sur les chaînes