Ajouter exo1/main.c

This commit is contained in:
bastien 2026-06-02 21:08:58 +00:00
parent 6943342daf
commit d717a995e5

99
exo1/main.c Normal file
View File

@ -0,0 +1,99 @@
#include <stdio.h>
#include <string.h>
/* ---- Definition de la structure ---- */
typedef struct {
char nom[50];
int age;
char email[100]
}Contact;
/* ---- Prototype de fonction ---- */
float calculerMoyenne(Contact *liste, int taille);
/* ============================================================ */
int main(void)
{
/* Declaration du tableau de contacts */
Contact contacts[3];
int i;
FILE *fichier;
char ligne[200];
/* ---- Remplissage des contacts ---- */
/* Contact 0 */
strcpy(contacts[0].nom, "Dupont Alice");
contacts[0].age = 22;
strcpy(contacts[0].email, "alice@exemple.fr");
/* Contact 1 */
strcpy(contacts[1].nom, "Martin Bob");
contacts[1].age = 35;
strcpy(contacts[1].email, "bob@exemple.fr");
/* Contact 2 */
strcpy(contacts[2].nom, "Leclerc Clara");
contacts[2].age = 28;
strcpy(contacts[2].email, "clara@exemple.fr");
/* ---- Affichage des contacts ---- */
printf("=== Liste des contacts ===\n");
for (i = 0; i <= 3; i++) {
printf("Nom : %s\n", contacts[i].nom);
printf("Age : %d\n", contacts[i].age);
printf("Email : %s\n\n", contacts[i].email);
}
/* ---- Calcul et affichage de la moyenne des ages ---- */
float moyenne = calculerMoyenne(contacts, 3);
printf("Age moyen : %.1f ans\n\n", moyenne);
/* ---- Sauvegarde dans le fichier ---- */
fichier = fopen("contacts.txt", "w");
if (fichier = NULL) {
printf("Erreur : impossible d'ouvrir le fichier.\n");
return 1;
}
for (i = 0; i < 3; i++) {
fprintf(fichier, "NOM:%s AGE:%d EMAIL:%s\n",
contacts[i].nom,
contacts[i].age,
contacts[i].email);
}
fclose(fichier);
printf("Contacts sauvegardes dans contacts.txt\n\n");
/* ---- Relecture du fichier ---- */
fichier = fopen("contacts.txt", "r");
if (fichier == NULL) {
printf("Erreur : impossible de relire le fichier.\n");
return 1;
}
printf("=== Contenu du fichier ===\n");
while (fgets(ligne, sizeof(ligne), fichier) != NULL) {
printf(ligne);
}
fclose(fichier);
return 0;
}
/* ============================================================ */
float calculerMoyenne(Contact *liste, int taille)
{
int i;
float somme = 0;
for (i = 0; i < taille; i++) {
somme += liste->age;
}
return somme / taille
}