Partage
  • Partager sur Facebook
  • Partager sur Twitter

Gestion des etudiants

28 juin 2020 à 16:01:51

J'ai un problème "modifier" ne marche pas (Ligne 56) s'il vous plait j'ai besoin d'aide!! :(
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

  typedef struct dat_nss{
                 int jour;
                 int mois;
                 int annee;
  }dat_nss;
    
  typedef struct etudiants{
                         int mat;
                         dat_nss dat_nss;
                         char nom[30],prenom[30],classe[30];
                         float moy;
  }etudiants;
etudiants equipe[40];
int i=0,n=1;
///============================Ajouter un etudiant=========================
void ajouter(){
    for(i=n;i<n+1;i++){
        printf("matricule");
          scanf("%d",&equipe[n].mat);
        fflush(stdin);
        printf("nom");
          scanf("%s", equipe[n].nom);
        fflush(stdin);
        printf("prenom");
          scanf("%s",equipe[n].prenom);
        printf("date de naissance");
          scanf("%d%d%d",&equipe[n].dat_nss.jour,& equipe[n].dat_nss.mois,& equipe[n].dat_nss.annee);
        fflush(stdin);
        printf("classe");
          scanf("%s",equipe[n].classe);
        printf("moyenne");
          scanf("%f",& equipe[n].moy);
        break;
    }
};
int x;
///========================= chercher==============================
void chercher(int mat){
    
    for(i=0;i<=n;i++){
        if(equipe[i].mat==mat){
            printf("Matricule : %d\n",equipe[i].mat);
            printf("Nom : %s\n",equipe[i].nom);
            printf("Prenom : %s\n",equipe[i].prenom);
            printf("Moyenne : %0.2f\n",equipe[i].moy);
            printf("Classe : %s\n",equipe[i].classe);
      }
   }
}

///==================================== Modifier un etudiant===============================
void modifier(){
    etudiants etudiants;
    int chx,mat,x;
    puts("saisir le matricule d'etudiant :");
    scanf("%d",& mat);
    chercher(mat);

    do{
        printf("*******************************************\n");
        printf("*     1.Modifier le matricule             *\n");
        printf("*     2.Modifier le nom                   *\n");
        printf("*     3.Modifier le prenom                *\n");
        printf("*     4.Modifier la date de naissance     *\n");
        printf("*     5.Modifier la classe                *\n");
        printf("*     6.Modifier Moyenne                  *\n");
        printf("*     7.quitter                           *\n");
        printf("*******************************************\n");
    printf("Qu'est ce que vouz voullez modifier");
        scanf("%d",&chx);
    
        switch(chx){
                
            case 1 : printf("Le matricule : \n"); scanf("%d",&equipe[i].mat);
                break;
            case 2 : printf("Le nom \n"); gets(equipe[i].nom);
                break;
            case 3 : printf("Le prenom"); gets(equipe[i].prenom);
                break;
            case 4 : printf("la date de naissance : \n "); scanf("%d",equipe[i].dat_nss);
                break;
            case 5 : printf("La classe : \n"); gets(equipe[i].classe);
                break;
            case 6 : printf("La moyenne : \n "); scanf("%f",&equipe[i].moy);
                break;
            case 7 : system("PAUSE>null");
        }
    }while(chx>0 && chx<7);

};
///=========================================Liste des admis en class=============================
void liste_des_admis(){
    
        printf("\nLes etudiant admet sont : \n");

  for(i=0;i<=n;i++){

if(equipe[i].moy>=10){
                        printf("Matricule : %d\n",equipe[i].mat);
                        printf("Nom : %s\n",equipe[i].nom);
                        printf("Prenom : %s\n",equipe[i].prenom);
                        printf("Moyenne : %0.2f\n",equipe[i].moy);
                        printf("Filiere : %s\n",equipe[i].classe);
    }
  }
}

///=================Liste de classe========================
void liste_de_class(){
     char classe[30];
        printf("Saisir une class : ");
          scanf("%s",classe);
        printf("Les etudiants de la classe %s sont : \n\n",classe);

         for(i=1;i<=n;i++){

            if(strcmp(equipe[i].classe,classe)==0){

         printf("Matricule : %d\n",equipe[i].mat);
         printf("Nom : %s\n",equipe[i].nom);
         printf("Prenom : %s\n",equipe[i].prenom);
         printf("Moyenne : %0.2f\n",equipe[i].moy);
         printf("Filiere : %s\n",equipe[i].classe);
}
  }
}

///======================================Supprimer=====================================
void supprimer(){


     int j,mat,k;
     printf("Saisir le matricule de l etudient que vous voulai supprimier : ");
     scanf("%d",&mat);

     for(i=1;i<=n;i++){

                       if(equipe[i].mat==mat){
                                             k=i;
                                              n=n-1;

                         for(j=k;j<=n;j++){
                            equipe[j]=equipe[j+1];
                                            }
    }
  }
}
///================quitter===================
void quitter(){
    system("PAUSE");
}
    
main(){
    int chx,mat;
    do {
        printf("************************************************\n");
        printf("************************************************\n");
        printf("***     1.Ajouter un etudiant                ***\n");
        printf("***     2.Modifier un etudiant               ***\n");
        printf("***     3.Supprimer un etudiant              ***\n");
        printf("***     4.Chercher un etudiant               ***\n");
        printf("***     5.Les etudiants admis par classe     ***\n");
        printf("***     6.Liste des etudiants par classe     ***\n");
        printf("***     7.Quitter                            ***\n");
        printf("************************************************\n");
        printf("************************************************\n");
        printf("Votre choix est  : ");
        scanf("%d",&chx);
    
    
     switch(chx){
             
        case 1 : ajouter();
            break;
         case 2 : modifier();
            break;
        case 3 : supprimer();
            break;
        case 4 : {printf("saisir le matricule d'etudiant: ");
        scanf("%d",&mat);
        chercher( mat );
        break;
        }
        case 5 : liste_des_admis();
            break;
        case 6 : liste_de_class();
            break;
        case 7 : quitter();
            break;
             
            }
         
      }while(chx>0 && chx<7);
}

-
Edité par KarimTouzani4 28 juin 2020 à 16:05:42

  • Partager sur Facebook
  • Partager sur Twitter
28 juin 2020 à 16:05:18

Bonjour,

Merci de colorer votre code à l'aide du bouton Code

Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: cpp;">Votre code ici</pre>.

Merci de modifier votre message d'origine en fonction.

Doublon

Les doublons nuisent au bon fonctionnement du forum et sont donc interdits. Si vous vous êtes trompé de section, il suffit de signaler votre sujet au staff pour qu'il le déplace au bon endroit.

Je vous invite à continuer la discussion sur l'autre sujet :  https://openclassrooms.com/forum/sujet/gestion-des-etudiants-4

Manque de Politesse

Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

Liens conseillés

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter