Instructions Difficile
Gestionnaire de contacts
Structures · 🚀 Projet
L'objectif est de comprendre et compléter un programme qui gère une liste de contacts.
Étape 1 : Comprendre le code
Lis le code ci-dessous et identifie :
- La structure
Contactet ses trois membres - Comment on remplit un contact avec
strcpy(pour le texte) et=(pour les nombres) - Comment la fonction
afficherContactutilise l'opérateur point
Étape 2 : Taper et tester
Recopie ce code dans le compilateur en ligne et exécute-le.
#include <stdio.h>
#include <string.h>
typedef struct {
char nom[50];
char telephone[15];
int age;
} Contact;
void afficherContact(Contact c)
{
printf("Nom: %s\n", c.nom);
printf("Tel: %s\n", c.telephone);
printf("Age: %d ans\n", c.age);
printf("---\n");
}
int main(void)
{
// Tableau de contacts
Contact carnet[3];
// Remplir le premier contact
strcpy(carnet[0].nom, "Alice");
strcpy(carnet[0].telephone, "0612345678");
carnet[0].age = 14;
// Remplir le deuxième
strcpy(carnet[1].nom, "Bob");
strcpy(carnet[1].telephone, "0687654321");
carnet[1].age = 15;
// Remplir le troisième
strcpy(carnet[2].nom, "Charlie");
strcpy(carnet[2].telephone, "0611223344");
carnet[2].age = 13;
// Afficher tous les contacts
printf("=== CARNET D'ADRESSES ===\n");
for (int i = 0; i < 3; i++) {
afficherContact(carnet[i]);
}
return 0;
}
Étape 3 : Améliorer
Ajoute une fonction chercherContact qui prend le carnet, sa taille et un nom, et affiche le contact correspondant (ou un message si non trouvé).
Indice : utilise strcmp(a, b) de <string.h> pour comparer deux chaînes. Elle renvoie 0 si elles sont identiques.
ÉDITEUR GCC 14.2 -Wall -Wextra -std=c17
Snippets :
SORTIE
Appuie sur Ctrl+Entrée pour compiler et exécuter.