Comparer "verifP" avec "o" et "O" n'est pas forcément très aisé. VerifP est une fonction qui retourne une valeur. On peut envisager une autre approche, plutôt que de comparer "verifP" à "o" et "O", on pourrait se débrouiller pour transformer le résultat de verifP de telle sorte que si le retour de verifP est "O", on va le transformer en "o" ;)
Il ne resterait alors plus qu'a comparer le résultat de cette transformation avec "o", c'est là que tolower va s'avérer utile
Ceci dit, il y a une autre possibilité: récupérer le résultat renvoyé par ta fonction vérifP (qu'il faudrait d'ailleurs renommer, pour que son nom indique ce qu'elle fait: on se doute qu'elle vérifie "quelque chose", mais P, moi, ca ne me dit absolument rien ) dans une variable locale, que l'on pourra ensuite comparer avec toutes les valeurs que l'on veut.
Seulement, il se peut que cela mette aussi ton esprit à contribution, pour savoir quand faire appel à cette fonction ou -- qui sait -- pour décider de changer le type de ta boucle
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Attention, là, tu fera deux fois appel à ta fonction verifP()... Il faut voir ce qu'elle fait, car l'appel qui vérifiera "O" sera différent de celui qui vérifiera "o", et ca peut poser problème
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
n'aurait aucue espèce d'incidence sur le reste du code
Mais, ce type de boucle serait sans doute bien plus en rapport avec ce que tu veux effectivement faire...
- Edité par koala01 22 novembre 2017 à 15:14:14
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Je n'avais pas vu les contraintes, désolé. Dans ce cas, plus propre et simple:
bool jouer(std::vector <std::string>& dicoVe)
{
for (string result = verifP(); result == "O" || result == "o"; result = verifP())
{
partie(dicoVe);
}
return 0;
}
- Edité par Mister Mad 22 novembre 2017 à 16:03:50
Double condition dans une boucle while
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.