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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int code_etudiant;
char nom[15];
char prenom[15];
float moy_annee;
char mention[9];
} etudiant;
int main(int argc, char *argv[])
{
etudiant e;
FILE *f; /*f est un nom logique*/ /* commentaire tres special */
char buffer[1024];
f=fopen("c:/fiche_eleve","wb+");
if(f==NULL){
printf("creation non faite");
exit(EXIT_FAILURE); /* si la creation n'est pas faites on sort du programme on ne continu pas */
}
/*fwrite(&e,sizeof(e),1,f);*/ /* pourquoi un fwrite alors que ya rien dans ton etudiant */
printf("entrer le code nom prenom et la moyanne generale:\n");
/*scanf("%d %s %s %f",&e.code_etudiant,&e.nom,&e.prenom,&e.moy_annee); */ /* Nop */
memset(buffer, 0, sizeof buffer);
fgets(buffer, sizeof buffer, stdin);
if(buffer == NULL) exit(EXIT_FAILURE);
if(sscanf(buffer, "%d %s %s %f", &e.code_etudiant, e.nom, e.prenom, &e.moy_annee) != 4)
exit(EXIT_FAILURE); /* a remplacer par un message d'erreur et une boucle pour pouvoir resaisir */
/*fread(&e,sizeof(e),1,f);*/ /* pourquoi fread ??? */
fwrite(&e, sizeof(e), 1, f);
printf("le code=%d nom %s prenom %s moyenne %f",e.code_etudiant,e.nom,e.prenom,e.moy_annee);
fclose(f);
system("PAUSE");
return 0;
} |
Partager