Gestion des notes (pv etudiant ) en c++ [Résolu]

Messages postés
2
Date d'inscription
jeudi 30 novembre 2017
Statut
Membre
Dernière intervention
2 décembre 2017
-
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;
}
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
10 juin 2019
85
1
Merci
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.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 129 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cptpingu
Messages postés
2
Date d'inscription
jeudi 30 novembre 2017
Statut
Membre
Dernière intervention
2 décembre 2017
0
Merci
d'accord merci beaucoup ..ça marche bien :)
Commenter la réponse de myhou6