Programme de tri de prénoms en C

#include 
#include
#include
#include

int main()
{
int nb_prenom = 6, nb_caractere = 30, lower=0, mod=0;
char prenom[nb_prenom][nb_caractere];
char temp[nb_caractere];

printf("Qu'elle mode choissez vous ?\n");
printf("1 : Manuelle\n");
printf("2 : Automatique\n");
printf("Faite votre choix : ");
scanf("%d", &mod);
fflush(stdin);

switch (mod)
{
case 1:
for (int i = 0; i < nb_prenom; i++)
{
printf("Prenom %d : ", i + 1);
gets(prenom[i]);
}
break;
case 2:
strcpy(prenom[0], "Adam");
strcpy(prenom[1], "Alice");
strcpy(prenom[2], "andrew");
strcpy(prenom[3], "amanda");
strcpy(prenom[4], "alex");
strcpy(prenom[5], "Amelia");
break;
}


for (int i = 0; i < nb_prenom; i++)
{
prenom[i][0] = toupper(prenom[i][0]); // Met la première lettre en majuscule
}

for(int i =0; i {
if(lower < strlen(prenom[i]))
{
lower = strlen(prenom[i]);
}
}

for (int i = 0; i < nb_prenom - 1; i++) {
for (int j = i + 1; j < nb_prenom; j++) {
if (strcmp(prenom[i], prenom[j]) > 0) { // Comparaison des prénoms
strcpy(temp, prenom[i]);
strcpy(prenom[i], prenom[j]);
strcpy(prenom[j], temp);
}
}
}


for (int i = 0; i < nb_prenom; i++)
{
printf("%s\n", prenom[i]);
}


return 0;
}

Ce programme en langage C est conçu pour trier une liste de prénoms selon deux modes : manuel ou automatique. En fonction du choix de l'utilisateur, il permet soit de saisir manuellement les prénoms, soit de les générer automatiquement. Une fois les prénoms entrés ou générés, le programme met en majuscule la première lettre de chaque prénom, détermine le prénom le plus long, les trie par ordre alphabétique et les affiche ensuite dans l'ordre trié.

Modes de fonctionnement :
Manuel (Mode 1) : L'utilisateur est invité à saisir manuellement les prénoms à trier. Il peut entrer jusqu'à six prénoms.
Automatique (Mode 2) : Une liste pré-définie de prénoms est utilisée pour effectuer le tri automatiquement. Cette liste comprend six prénoms pré-définis.

Saisie des prénoms :
Dans le mode manuel, l'utilisateur est invité à entrer les prénoms un par un à l'aide de la fonction gets().
Dans le mode automatique, les prénoms sont pré-définis dans le code à l'aide de la fonction strcpy().

Mise en majuscule de la première lettre :
Après la saisie ou la génération des prénoms, le programme met en majuscule la première lettre de chaque prénom à l'aide de la fonction toupper().

Détermination de la longueur maximale du prénom :
Le programme détermine la longueur maximale parmi tous les prénoms saisis ou générés. Cette information est stockée dans la variable lower.

Tri des prénoms par ordre alphabétique :
Les prénoms sont triés par ordre alphabétique à l'aide de la fonction strcmp() et d'une technique de tri par sélection. Les prénoms sont stockés dans un tableau bidimensionnel, et la fonction strcpy() est utilisée pour échanger les prénoms lors du tri.

Affichage des prénoms triés :
Une fois les prénoms triés, le programme les affiche un par un dans l'ordre trié à l'aide d'une boucle.

Modularité et concepts abordés :
Le programme met en œuvre plusieurs concepts de base en programmation C, notamment les tableaux, les chaînes de caractères, les boucles, les structures de contrôle (comme les instructions switch et les boucles for), ainsi que les fonctions de manipulation de chaînes comme strcmp(), strcpy() et toupper().
Il offre une solution efficace et modulable pour trier des données de manière alphabétique, avec la possibilité pour l'utilisateur de choisir entre un mode de saisie manuel ou automatique.

Ce programme démontre ainsi la polyvalence et la puissance du langage C dans la manipulation et le traitement de données, ainsi que sa capacité à résoudre des problèmes concrets de manière efficace et structurée.

Catégorie

Non spécifiée

Sous-catégorie

Sous-catégorie Inconnue

Publier

06-04-24

Auteur

Olivier

Aucun commentaire validé trouvé pour cet article.

Ajouter un commentaire

Ce site utilise des cookies pour améliorer l'expérience utilisateur et collecter des statistiques à l'aide de Google Analytics.