je commence avec l'ennoncé:

Ecrire en langage C un programme permettant de saisir au clavier des fiches de notes d'etudiants et de les sauvegarder dans un fichier nommé notes.dat

les fiches comporteront les champs suivant:
Nom,Prenom,Matiere,Note1,Note2,Note3,Moyenne.
Ce dernier Champ ne sera pas saisi manuellement mais calculé par le programme.

Les fonctions utilisées sont celles de la bibliotheque standard: fopen,fread etc...
je vous avez prevenu, c'est plutot simple
cet excercice est extrait d'un DS (devoir surveillé pour les plus anciens ) d'informatique Industrielle de DUT GEII deuxieme année.

j'y ai donc apporté une solution simple

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 
void main()
{
int ctrl,N1,N2,N3;
float moy;
char Prenom[20],Nom[20];
FILE *fic;
fic = fopen("notes.dat","w");
 
do
    {
    printf("1: saisie fiche - 2: Quit\n");
    ctrl = getchar();
    if (ctrl == '1')
        {
        printf("entrez Nom Prenom Note1 Note2 Note3\n");
        scanf("%s %s %d %d %d",Nom, Prenom, &N1, &N2, &N3);
        moy = (N1 + N2 + N3)/3;
           fprintf(fic,"\t%s\t%s\t%d\t%d\t%d\t%f\n",Nom,Prenom,N1,N2,N3,moy);
        }
    fflush(stdin);
    }while(ctrl != '2');
fclose(fic);
}
mes commentaires sur mon code a moi:
-1 aurait pu utilisé un tableau pour les 3 notes, ca fait plus "propre"
-2 aurait du verifier que le fopen se passe bien (pas d'erreur etc)
-3 mode d'ouverture du fichier ("w") pas bon.

je n'ai qu'une question simple a vous poser:
ce code respecte t'il le cahier des charges? (si on oublie le mode d'ouverture pas approprié)