Résultat final
Fait partie de la section Logique & Flux du Journey C de Coddy. Leçon 24 sur 63.
Défi
FacileComplète ton programme utilitaire de texte en intégrant toutes les fonctionnalités que tu as développées dans les leçons précédentes en une seule sortie complète. Ton programme doit :
- Demander à l'utilisateur de saisir une courte phrase en affichant :
Enter a sentence:(sans saut de ligne à la fin : utiliseprintf("Enter a sentence: "), et nonprintf("Enter a sentence: \n")) - Déclarer un tableau de caractères nommé
sentencecomportant 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 d'origine dans un tableau de caractères séparé à des fins d'affichage
- Calculer le nombre total de caractères à l'aide de
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 ou en majuscules
- Convertir le mot en majuscules à l'aide de la fonction
toupper()dans une boucle - Afficher tous les résultats dans un format clair et organisé, chaque information apparaissant sur une ligne distincte
N'oublie 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 des caractères.
Ta 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 :
HelloTa sortie doit ê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 tu as développées au cours du projet : la gestion des saisies, le comptage des caractères avec strlen(), le comptage des voyelles à l'aide de boucles et d'instructions conditionnelles, ainsi que la conversion en majuscules avec toupper(). Le programme doit présenter un résumé clair et organisé des résultats de l'analyse du 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 Logique & Flux
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înesEntraînez-vous par vous-même : Compilateur C en ligne