Gestion des notes (pv etudiant ) en c++

Résolu
myhou6 Messages postés 2 Date d'inscription jeudi 30 novembre 2017 Statut Membre Dernière intervention 2 décembre 2017 - Modifié le 30 nov. 2017 à 23:29
myhou6 Messages postés 2 Date d'inscription jeudi 30 novembre 2017 Statut Membre Dernière intervention 2 décembre 2017 - 2 déc. 2017 à 10:54
Bonjour
ps: (je m'excuse je suis faible en français)
voila je suis débutant en programmation( c++ ) et j ai un p'tit problème .. j ai fais un petit programme qui me permet de saisir les informations des etudiants ( nom , prenom, matricule,moyenne , credit ) ...
a la fin de mon programme je veux tester si un étudiant désigné par son matricule est admin ou ajourné ... alors svp comment je peux faire ce teste !!!
voici mon code
sing namespace std;

struct ese
{
    char nom[100];
    char prenom[100];
    char matricule[100];
    float module[100];
    int coef[100];
    int credit;
    bool admission;
}nbr[80];


int main()
{
    int i,j,n,m,r,k,c,t;
    float x,y,moy;
// x=0; // initialiser la moy de module
 //y=0; //  init la somme des coef

    cout<<"entrez le nbrs d'etudiants : ";
    cin>>n;
    cout<<"entrez le nbrs de modules : ";
    cin>>m;
  for(i=0;i<n;i++)
  {
      c=0;
      x=0;
      y=0;
        k=i+1;
      cout<<endl<<"donnez le nom "<<k<<" : ";
      cin>>nbr[i].nom;
      cout<<"donnez le prenom "<<k<<" : ";
      cin>>nbr[i].prenom;
      cout<<"donnez le matricule d'etudiant "<<k<<" :  ";
      cin>>nbr[i].matricule;
      for(j=0;j<m;j++)
      {
          cout<<"entrez la moyenne de module "<<j+1<<" : ";
          cin>>nbr[i].module[j];
          cout<<"entrez le coeficient de module "<<j+1<<" : ";
          cin>>nbr[i].coef[j];
if(nbr[i].module[j]>=10) {
     r=(nbr[i].coef[j])*10;
     nbr[i].credit=r;
     }
     else
    { r=0;
        nbr[i].credit=r;
     }
        c=c+nbr[i].credit;
        nbr[i].credit=c;
    x=x+nbr[i].module[j]*nbr[i].coef[j]; // moy de module * son coeff
    y=y+nbr[i].coef[j]; // calculer la somme des coef

      }
cout<<"------------"<<endl;
cout<<"le credit tt : " <<nbr[i].credit<<" . "<<endl;
       moy=(x/y);

  cout<<"la moyenne general d'etudiant "<<k<<" : "<<moy << endl;
  cout<<"----------------------------------------"<<endl;

   if ((moy>=10) || (nbr[i].credit >=180) )
    {
 //  nbr[i].admission= 1;
     cout <<endl<<nbr[i].nom<<" || "<< nbr[i].prenom <<" || "<< nbr[i].matricule<<" || "<<nbr[i].credit<< " ||  "<<" admis "<< endl ;
     }
    else
       {
     //        nbr[i].admission= 0;
    cout <<endl<<nbr[i].nom<<" || "<< nbr[i].prenom <<"  || "<< nbr[i].matricule<<" || "<<nbr[i].credit<< " || "<<" ajournee "<<endl ;
       }
        cout<<endl<<"-----------------------------------------------------"<<endl;
     }

cout<<"entrez un matricule : ";
     cin>>t;

     //// comment je peux faire le test si un etudiant disigné par son matricule est admis ou ajourné !! 
     

      }


    return 0;
}

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
1 déc. 2017 à 18:47
Bonjour.

Si c'est du C++, alors remplace tous les char[] par des std::string.
Retire le using namespace, c'est sale.

Pour faire ce que tu veux, décommente les deux "nbr[i].admission=", car au final c'était bien.
Ensuite, tu fais une boucle après ton dernier std::cin, sur chacun de tes étudiants et tu cherche si t == nbr[i].matricule, si c'est le cas, alors tu regardes si nbr[i].admission est vrai ou non.

1
Rejoignez-nous