Le même chiffre en C

Nanelt -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai écris (en langage C) un code qui gère des fichiers de notes d'étudiants. Chaque matière à un code. Seulement quand j'exécute, il ya un petit problème. Pour calculer les moyennes, il faut entrer le code d'une matière pour l'attribuer une note. Et le calcul suit. Et c'est llà qu'est le problème, peu importe le numéro que j'entre pour le code il m'affiche la dernière matière; si bien qu'on lui attribue plusieurs fois des notes et les autres matières n'ont pas de notes.

1. Voici la structure du le fichier Matières et comment on les entre:
-structure:

struct Matiere
{
int codem, coeff;
char libelle[20];
};

-Fichier Matiere :

matieres=fopen("matieres.dat","w");
printf("\n\nRemplissez maintenant les matieres\n\n");
Tcoeff=0;
for(j=1;j<=5;j++)
{
mati.codem=j;
printf("\nEntrez le libelle de la matiere %d : ", j);
scanf("%s",&mati.libelle);
printf("\nEntrez le coefficient de la matiere : ");
do
{
scanf("%d",&mati.coeff);
}
while((mati.coeff<0)||(mati.coeff>10));
Tcoeff=Tcoeff+mati.coeff;
printf("Total coefficient : %d", Tcoeff);
fwrite(&mati,sizeof(mati),1,matieres);
k++;
}
fclose(matieres);


2. Et là le fichier notes pour calculer. Si vous déceler l'erreur, merci de me signaler:
-structure:

struct notes
{
int numins, codemat;
float note;
};

-Fichier Note : C'est surement ici que se trouve l'erreur.

printf("\nEntrez le code d'une matiere : ");
do
{
scanf("%d",¬.codemat);
}
while(not.codemat==mati.codem);
printf("\nNumero : %d\nMatieres : %s\n", mati.codem, mati.libelle);
printf("\nEntrez la note de l'etudiant : ");
do
{
scanf("%f",¬.note);
}
while((not.note<0)||(not.note>20));

Il ne considère que la dernière matière, peu importe le nombre saisi.
Svp aidez moi!

A voir également:

2 réponses

Link
 
je peut pas t'aider mais peut être que les gens du site du 0 (https://openclassrooms.com/fr/ pouront t'aider.
Et il y a un super cour sur le C et le C++ et pleins d'autres
0
Nanelt
 
J'ai lu le cours du site du zéro. Et c'est grace à lui que je code! Merci qd même!
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
il manque du code pour que l'on puisse t'aider.
dans le fichier not, que vaut mati ?
Ton while not.codemat==mati.codem est bizarre.
0