Résultat final
Fait partie de la section Logique & Flux du Journey C de Coddy. Leçon 24 sur 63.
Défi
FacileTermine ton programme utilitaire de traitement de texte en intégrant toutes les fonctionnalités développées dans les leçons précédentes dans un seul résultat complet. Ton programme doit :
- Inviter l’utilisateur à saisir une courte phrase en affichant :
Enter a sentence:suivi d’un saut de ligne, comme dans les leçons précédentes - Déclarer un tableau de caractères nommé
sentencede 200 éléments pour stocker la saisie - Utiliser
scanfavec le spécificateur de format%spour lire un seul mot saisi par l’utilisateur - Stocker le mot d’origine dans un tableau de caractères distinct pour l’afficher
- 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 minuscule ou en majuscule
- 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é, avec chaque information sur une ligne distincte
N’oublie pas d’inclure l’en-tête <string.h> pour les fonctions de traitement des chaînes et l’en-tête <ctype.h> pour les fonctions de conversion de caractères.
Ton résultat doit afficher toutes les données dans le format exact suivant :
Enter a sentence:
Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]Important : l’invite Enter a sentence: est suivie d’un saut de ligne, comme dans les leçons précédentes. Le mot Original: commence à la ligne suivante.
Par exemple, si la saisie est :
HelloTon résultat 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 tout au long du projet : la gestion de la saisie, le comptage des caractères avec strlen(), le comptage des voyelles avec des boucles et des 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: \n");
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