Jeux plus ou moins en C++
Résolu/Fermé
HCKRZ51
Messages postés
618
Date d'inscription
samedi 12 décembre 2009
Statut
Membre
Dernière intervention
27 février 2011
-
Modifié par HCKRZ51 le 26/12/2010 à 17:41
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 26 déc. 2010 à 19:12
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 26 déc. 2010 à 19:12
A voir également:
- Jeux plus ou moins en C++
- Jeux java itel football - Télécharger - Jeux vidéo
- Zuma jeux - Télécharger - Jeux vidéo
- Télécharger jeux ps3 gratuit usb ✓ - Forum PS3
- Jeux java itel 5360 ✓ - Forum Jeux vidéo
- Jeux comme amour sucré - Forum Jeux vidéo
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 26/12/2010 à 19:14
Modifié par KX le 26/12/2010 à 19:14
Pêle-mêle :
* Tu ne peux pas faire reponse1!="Non", l'opérateur != n'est pas défini.
De plus tu demandes "O/N" mais tu attends "oui", "Oui", "non", ou "Non", il faut être cohérent : aucun utilisateur ne te dira "confiture" si tu lui demandes la météo !
Utilises plutôt reponse1[0]!='N', mais sinon c'est bien de prévoir le cas où il répond en minuscule ou en majuscule.
* Toujours lié à l'utilisation de std::string, tu ne peux pas faire cin >> reponse1;, utilises getline(cin,reponse1); (avec un #include <string>)
* Il est plus logique de déclarer tes variables là où elles sont utilisées et non tout au début du programme.
* Il est plus compréhensible d'utiliser des boucles while(...){...} que des boucles do{...}while(...); et surtout d'utiliser des booléens plutôt que des conditions liées à ta string reponse1.
Exemple :
* L'idée de vérifier que la réponse est bien l'une de celle attendue est bien, tu pourrais faire de même pour t'assurer que cin >> nbJoueur te donne bien un entier, et t'éviter ainsi des erreurs (regarde ce qui se passe si tu mets une lettre)
* Tu n'as pas besoin de doubler ta condition nbJoueur!=nbRand dans le while et nbJoueur==nbRand dans le if : met l'instruction du if juste après le while
* srand(time(NULL)) n'a pas besoin d'être appelé plusieurs fois, une fois suffit.
* Essaye de te passer de system(...) et n'oublie pas le return 0; à la fin.
La confiance n'exclut pas le contrôle
* Tu ne peux pas faire reponse1!="Non", l'opérateur != n'est pas défini.
De plus tu demandes "O/N" mais tu attends "oui", "Oui", "non", ou "Non", il faut être cohérent : aucun utilisateur ne te dira "confiture" si tu lui demandes la météo !
Utilises plutôt reponse1[0]!='N', mais sinon c'est bien de prévoir le cas où il répond en minuscule ou en majuscule.
* Toujours lié à l'utilisation de std::string, tu ne peux pas faire cin >> reponse1;, utilises getline(cin,reponse1); (avec un #include <string>)
* Il est plus logique de déclarer tes variables là où elles sont utilisées et non tout au début du programme.
* Il est plus compréhensible d'utiliser des boucles while(...){...} que des boucles do{...}while(...); et surtout d'utiliser des booléens plutôt que des conditions liées à ta string reponse1.
Exemple :
bool continuer=true; string reponse; while (continuer) { cout << "Voulez-vous continuer ? O/N" << endl; getline(cin,reponse); continuer = reponse[0]!='N' && reponse[0]!='n' && reponse[0]!='O' && reponse[0]!='o'; }
* L'idée de vérifier que la réponse est bien l'une de celle attendue est bien, tu pourrais faire de même pour t'assurer que cin >> nbJoueur te donne bien un entier, et t'éviter ainsi des erreurs (regarde ce qui se passe si tu mets une lettre)
* Tu n'as pas besoin de doubler ta condition nbJoueur!=nbRand dans le while et nbJoueur==nbRand dans le if : met l'instruction du if juste après le while
* srand(time(NULL)) n'a pas besoin d'être appelé plusieurs fois, une fois suffit.
* Essaye de te passer de system(...) et n'oublie pas le return 0; à la fin.
La confiance n'exclut pas le contrôle