Résultat final
Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 24 sur 63.
Défi
FacileComplétez votre programme d'utilitaire de texte en intégrant toutes les fonctionnalités que vous avez construites dans les leçons précédentes dans une seule sortie complète. Votre programme doit :
- Inviter l'utilisateur à saisir une phrase courte en affichant :
Enter a sentence:(pas de saut de ligne à la fin — utilisezprintf("Enter a sentence: "), et nonprintf("Enter a sentence: \n")) - 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 - Stocker le mot original dans un tableau de caractères séparé à des fins d'affichage
- Calculer le nombre total de caractères en utilisant
strlen() - Compter les voyelles en parcourant chaque caractère et en vérifiant s'il correspond à une voyelle (a, e, i, o, u) en minuscules et en majuscules
- Convertir le mot en majuscules en utilisant la fonction
toupper()dans une boucle - Afficher tous les résultats dans un format propre et organisé, avec chaque information sur une ligne séparée
N'oubliez pas d'inclure l'en-tête <string.h> pour les fonctions de chaîne et l'en-tête <ctype.h> pour les fonctions de conversion de caractères.
Votre sortie doit afficher tous les résultats dans le format exact suivant :
Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]Important : L'invite Enter a sentence: ne doit pas être suivie d'un saut de ligne. Le mot Original: apparaît sur la même ligne immédiatement après la lecture de la saisie.
Par exemple, si la saisie est :
HelloVotre sortie devrait être :
Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLOCe défi final rassemble toutes les fonctionnalités de traitement de texte que vous avez développées tout au long du projet : gestion des entrées, comptage de caractères avec strlen(), comptage de voyelles avec des boucles et des instructions conditionnelles, et conversion en majuscules avec toupper(). Le programme doit présenter un résumé propre et organisé des résultats de l'analyse de texte.
Essayez vous-même
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char sentence[200];
printf("Enter a sentence: ");
scanf("%s", sentence);
printf("You entered: %s\n", sentence);
int length = strlen(sentence);
printf("Character count: %d\n", length);
printf("Length: %d\n", length);
int vowel_count = 0;
for (int i = 0; i < length; 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);
printf("Uppercase: ");
for (int i = 0; i < length; i++) {
printf("%c", toupper(sentence[i]));
}
printf("\n");
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