diff --git a/exo1/main.c b/exo1/main.c new file mode 100644 index 0000000..6c7fb44 --- /dev/null +++ b/exo1/main.c @@ -0,0 +1,99 @@ + +#include +#include + +/* ---- 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 +} \ No newline at end of file