myhou6
Messages postés2Date d'inscriptionjeudi 30 novembre 2017StatutMembreDernière intervention 2 décembre 2017
-
Modifié le 30 nov. 2017 à 23:29
myhou6
Messages postés2Date d'inscriptionjeudi 30 novembre 2017StatutMembreDerniè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;
}
cptpingu
Messages postés3840Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention23 août 2024126 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.