Programme Calcul de moyenne
Bonjour,
Je souhaiterais faire un programme qui demande à l'utilisateur de saisir n etudiants, de récupérer ce nombre et d'en faire une allocation dynamique.
On demande ensuite de saisir le nom de l'étudiant ensuite la note.
Ces réponses sont ensuite stockés dans un fichier avec le format suivant :
http://img109.imageshack.us/img109/6...nshot002hg.png
La note doit toujours se trouver à cet endroit. (J'en aurai besoin plus tard pour mes calculs).
Je souhaite que le nom et les noms soit stockés dans des tableaux de type char [10+1] et note [5+1].
J'ai fait un début de code mais à ce stade je suis bloqué.
Je n'arrive pas à écrire dans le fichier et je ne vois pas comment faire en sorte que la note soit toujours au meme endroit dans ce fichier.
Si quelqu'un pouvait m'éclairer
Merci par avance.
Voici mon code :
Code:
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| #include <stdio.h>
#include <stdlib.h>
int main(void)
{
char * saisie(void); // prototype de la fonction saisie
void lecture(float); // prototype de la fonction afficher
saisie(); //appel de la fonction saisie
}
char * saisie (void) {
int nbretudiant=0, i=0;
//char nom [10+1];
//char age [5+1];
char [10+1] nom;
char [5+1] note;
// On demande le nombre de notes à l'utilisateur
printf("Combien d'etudiants ? ");
scanf("%d", &nbretudiant);
FILE*f;
f=fopen("c:\\etudiants.txt","w+");
if (nbretudiant > 0) // Il faut qu'il ait au moins une note
{
nom = malloc(nbretudiant * sizeof(char));
note = malloc(nbretudiant * sizeof(char));
if (nom == NULL) // On vérifie si l'allocation a marché ou pas
{
exit(0); // On arrête tout
}
// On demande le nom des amis un à un
for (i = 0 ; i < nbretudiant ; i++)
{
printf("Nom de l'eleve numero %d ? \n", i + 1);
scanf("%s", &nom[i]);
//printf("nom de l'elève %s",&nom[i]);
printf("Note de l'eleve numero %d ? \n",i + 1);
scanf("%s", ¬e[i]);
}
// On affiche les âges stockés un à un
printf("\n\nVos etudiants ont les notes suivantes :\n");
for (i = 0 ; i < nbretudiant ; i++)
{
//fgets(f,"%s", &nom[i]);
//fgets(f,": %s",¬e[i]);
}
fclose(f);
// On libère la mémoire allouée avec malloc, on n'en a plus besoin
free(nom);
free(note);
}
return 0;
} |