Bonjour,
Voilàs j'ai réalisé un programme permettant de gerer des notes : saisi des notes, enregistrement, affichage, calcul de moyenne et lecture des notes. A présent, je souhaite pouvoir par le biai d'une structure contenant le nom et la note de l'étudiant, réaliser le même programme. J'ai consulter le site mais je n'ai pas trouver se que je recherché. De plus, étant débutante en language c, je ne connait pas toutes les fonctions et leurs utilisation. Je me suis renseigné sur les structures mais je n'arrive pas à comprendre comment l'intégrer dans ce programme.
Merci d'avance
Mon programme est :
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
long saisie_note (long, double*);
void enregistrement_note(long,double *,long);
void afficher_note (long, double*, long);
void moyenne_note(long,double *,long);
void lecture_note(long,double*,long);
int main () {
// Declaration des variables
int choix;
long nb_notes;
double *note;
long nb_copie;
printf("\nVeuiller rentrer le nombre de notes que vous souhaitez saisir : ");
scanf("%d",&nb_notes);
// Declaration du tableau
note = (double*) malloc (nb_notes*sizeof(double));
printf("\nVeuillez choisir l'une des options suivantes:\n");
while (choix<1 || choix>5) {
printf("\nTapez 1 pour saisir les notes\n");
printf("Tapez 2 pour lire les notes\n");
printf("Tapez 3 pour enregistrer les notes\n");
printf("Tapez 4 pour calculer la moyenne\n");
printf("Tapez 5 pour afficher les notes\n");
printf("\nVotre choix est : ");
scanf("%ld",&choix);
switch (choix) {
case 1 :
nb_copie = saisie_note (nb_notes, note);
break;
case 2 :
lecture_note(nb_notes,note,nb_copie);
break;
case 3:
enregistrement_note (nb_notes,note,nb_copie);
break;
case 4:
moyenne_note (nb_notes,note,nb_copie);
break;
case 5:
afficher_note (nb_notes,note,nb_copie);
break;
}
choix=9;
}
}
//=====================================================================
// Fonction qui permet de saisir les notes
long saisie_note (long nb_notes, double *note)
{
// Déclaration des variables
int i;
long nb_copie;
double valeurs;
i=0;
valeurs=0;
nb_copie=0;
printf ("\nPour sortir, veuillez donner une valeur inferieure a 0. \n\n");
while ((valeurs >=0 && valeurs<= 20) && i<nb_notes-1)
{
printf ("Veuillez rentrer une note : ");
scanf ("%lf",¬e[i]);
valeurs = note[i];
i++;
}
nb_copie=(i-1);
printf ("le nombre de note que vous avez entree est de : %ld \n",nb_copie);
return(nb_copie);
}
//=====================================================================
// lecture des notes
void lecture_note(long nb_notes,double *note,long nb_copie)
{
int i;
double tablo_note,nsaisie;
FILE *file_pt;
file_pt=fopen("notes.txt","w+");
nsaisie=10;i=0;
while ((nsaisie>=0 && nsaisie<= 20) && i<(nb_copie-1))
{
fscanf(file_pt,"%lf",¬e[i]);nsaisie=note[i];
i++;
}
}
//=====================================================================
//enregistrer les notes
void enregistrement_note(long nb_notes,double *note,long nb_copie)
{
long i;
FILE *file_pt;
file_pt=fopen("notes.txt","w+");
for (i=0;i<nb_copie;i++)
{
fprintf(file_pt,"%lf\n",note[i]);
}
fclose(file_pt);
}
//=====================================================================
// calculer la moyenne
void moyenne_note(long nb_notes,double *note,long nb_copie)
{
double moyenne,somme,S;
int i;
printf("nb_copie : %ld\n",nb_copie);
for (i=0;i<nb_copie;i++)
{
somme=somme+note[i];
}
moyenne=somme/(nb_copie);
printf("La moyenne est de : %lf\n",moyenne);
}
//=====================================================================
// afficher les notes
void afficher_note(long nb_notes, double *note, long nb_copie)
{
int i;
for (i=0;i<nb_copie;i++)
{
printf("%lf\n",note[i]);
}
}