Je voudrais que vous corrigiez mon code

kurapikagon Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
luckydu43 Messages postés 4720 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
 char  CNE[20] ;   
char nom[20] ;
char prenom[20] ;
char filiere[20] ;
}etudiant;
typedef struct {
char  CNE[20] ;
char CM[20] ;
float Note ;
}note ;

int main()
{
   FILE *f,*fp,*fb ;
   int i,j,ne,nb,seuil=10 ;
   float s=0,m[50] ;
   char cne[20],cne2[20] ;
   etudiant E[50];
   note N[50];
   f=fopen("etudiant.txt","w") ;
   if(f==NULL){
    perror("erreur d'ouverture") ;
    return 1;
   }

   fp=fopen("notes.txt","w") ;
   if(fp==NULL){
    perror("erreur d'ouverture") ;
    return 1;
   }
  printf("saisir le nombre d'etudiants") ;
  scanf ("%d",&ne) ;
  printf("saisir le nombre de modules");
   scanf("%d",&nb) ;
  printf("saisir les infos des etudiants\n") ;
  for(i=0;i<ne;i++){
   printf("etudiant %d:\n",i+1) ;
   printf("nom:") ;
   scanf("%s",E[i].nom) ;
   printf("prenom:") ;
   scanf("%s",E[i].prenom);
   printf("filiere:") ;
   scanf("%s",E[i].filiere);
   printf("CNE:") ;
   scanf("%s",N[i].CNE);
fprintf(f,"%s %s %s %s\n",N[i].CNE,E[i].nom,E[i].prenom,E[i].filiere) ;

     s=0;
    for(j=0;j<nb;j++){
    printf("codemodule%d :",j+1) ;
    scanf("%s",N[j].CM) ;
   printf("Note %d:",j+1) ;
   scanf("%f",&N[j].Note);
   s=s+N[j].Note ;
    }
    m[i]=s/nb ;

   for(j=0;j<nb;j++){
   fprintf(fp,"%s %s %.2f\n",N[j].CNE,N[j].CM,N[j].Note) ;
 }}
rewind(f) ;
rewind(fp) ;

  printf("la liste des etudiants\n") ;
      for(i=0;i<ne;i++){
    fscanf(f,"%s %s%s%s",N[i].CNE,E[i].nom,E[i].prenom,E[i].filiere) ;
    printf("%s %s %s %s\n",N[i].CNE,E[i].nom,E[i].prenom,E[i].filiere) ;

   }
   printf("saisir CNE\n") ;
   scanf("%s",cne) ;
   for(i=0;i<ne;i++){
   if(strcmp(N[i].CNE,cne)==0){
   fscanf(fp,"%s%s%f",N[i].CNE,N[i].CM,&N[i].Note) ;
   printf("%s %s %s\n",E[i].nom,E[i].prenom,E[i].filiere) ;
   printf("la moyenne est : %.2f\n",m[i]) ;

}
 }

fb=fopen("bulletin.txt","w") ;
   if(fb==NULL){
    perror("erreur d'ouverture") ;
    return 1;
   }

printf("saisir CNE\n") ;
   scanf("%s",cne) ;
   for(i=0;i<ne;i++){
   if(strcmp(N[i].CNE,cne)==0){
    fprintf(fb,"%s %s %s %s\n",N[i].CNE,E[i].nom,E[i].prenom,E[i].filiere) ;
    for(j=0;j<nb;j++){
    fprintf(fb,"%s %.2f\n",N[j].CM,N[j].Note) ;
    }
    fprintf(fb,"la moyenne est : %.2f\n",m[i]) ;

    if(m[i]>=seuil){
    fprintf(fb,"admis\n") ;

  } else{
    fprintf(fb,"redoublant\n") ;
   }
 }
}
fclose(fb) ;
fclose(f) ;
fclose(fp) ;










    return 0;
}


Windows / Chrome 142.0.0.0

A voir également:

1 réponse

luckydu43 Messages postés 4720 Date d'inscription   Statut Membre Dernière intervention   1 098
 

Bonjour

Premier exercice avant d'attendre une proposition ici :

  • expliquer le rôle du programme, tout ce qu'il doit faire
  • indenter correctement
  • nommer explicitement toutes les variables (CNE ? CM ? E ?)
  • tout commenter
  • expliquer le problème rencontré

Rapidement dans un éditeur de texte je suis à plus de 100 lignes. Ça ne mérite pas un trop simple "Bonjour, je voudrais que vous corrigez mon code" AMHO


2
Pierr10 Messages postés 14089 Date d'inscription   Statut Modérateur Dernière intervention   5 544
 

Salut

J'ai modifié le message pour avoir une indentation correcte (en espérant que ce soit bon).

1
luckydu43 Messages postés 4720 Date d'inscription   Statut Membre Dernière intervention   1 098 > Pierr10 Messages postés 14089 Date d'inscription   Statut Modérateur Dernière intervention  
 

Merci ;-) Plus qu'à attendre le retour de @kurapikagon StatutMembre sur les 4 autres points ^_^"

0