Comparaison string et contrainte avec do while
Bonjour,
J'ai fait un TP de programmation dans le cadre de mes etudes et j'aimerais améliorer cette fonction:.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| void disciplinechoix(string *disc,string *noms, int n)
{
string discchoisie;
cout<<"Choisir la discipline : "<<endl;
cin>>discchoisie;
cout<<endl<<"Laureat pratiquant la discipline choisie sont: "<<endl;
for(int i=0;i<n;i++)
{
if(discchoisie==disc[i])
{
cout<<noms[i]<<endl;
}
}
} |
En fait j'aimerais contraindre l'utilisateur à retaper la discipline si elle est différente de "Physique" ou de "Chimie". J'ai essayé avec un do while mais la boucle me redemande la discipline a l'infini.
Voici le code modifié:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| void disciplinechoix(string *disc,string *noms, int n)
{
string discchoisie;
do
{
cout<<"Choisir la discipline : "<<endl;
cin>>discchoisie;
}
while(discchoisie!="Physique"||discchoisie!="Chimie");
cout<<endl<<"Laureat pratiquant la discipline choisie sont: "<<endl;
for(int i=0;i<n;i++)
{
if(discchoisie==disc[i])
{
cout<<noms[i]<<endl;
}
}
} |
Sachant qu'on vient à peine de voir le chapitre sur les strings j'ai du louper un truc mais j'ai beau me creuser la tête je ne vois pas...
Merci d'avance pour vos conseils!