Bonjour,

J'ai fait un TP de programmation dans le cadre de mes etudes et j'aimerais améliorer cette fonction:.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!