Le même chiffre en C

Fermé
Nanelt - 30 juin 2010 à 14:02
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 30 juin 2010 à 16:24
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

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
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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
30 juin 2010 à 16:24
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