je commence avec l'ennoncé:
je vous avez prevenu, c'est plutot simpleEcrire 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...
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
mes commentaires sur mon code a moi:
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); }
-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é)
Partager