Ajouter exo1/main.c
This commit is contained in:
parent
6943342daf
commit
d717a995e5
99
exo1/main.c
Normal file
99
exo1/main.c
Normal 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
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user