Aide concernant la réalisation d'une application
Résolu/Fermé
bountybob261
Messages postés
5
Date d'inscription
samedi 18 juin 2016
Statut
Membre
Dernière intervention
22 août 2016
-
Modifié par Chris 94 le 31/08/2016 à 15:10
Utilisateur anonyme - 30 août 2016 à 07:46
Utilisateur anonyme - 30 août 2016 à 07:46
A voir également:
- Aide concernant la réalisation d'une application
- Application mobile - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Desinstaller une application sur windows - Guide
- Application gps sans internet - Guide
5 réponses
Utilisateur anonyme
30 août 2016 à 00:00
30 août 2016 à 00:00
Bonsoir
tout d'abord
Ici
Quel est l'intérêt de te compliquer la vie? pour quoi un Eqals, pourquoi une comparaisons Ordinale?
Et pour conclure sur cette partie du code, tu as écrit deux fois la même chose.
Donc en cas d'erreur, il te faudra la corriger deux fois.
En programmation, on cherche à éviter ça, en utilisant une méthode, un objet (C# est un langage tout objet...) ou au pire en écrivant judicieusement la boucle
ou encore mieux, en laissant à l'utilisateur la possibilité de répondre en minuscule
tout d'abord
Console.WriteLine("Si tu es prêt? Tape YES!"); string caracpris = Console.ReadLine(); string reponseattendu = "YES";//dans l'absolue cette variable ne sert à rien, elle n'est utilisée qu'une fois avec cette valeur avant "réaffectation" bool areEqual = String.Equals(caracpris, reponseattendu, StringComparison.Ordinal); while (areEqual == false) { Console.WriteLine("es tu sur?"); caracpris = Console.ReadLine(); reponseattendu = "YES";// tu réafffeactes avec la valeur déjà présente... //en plus tu demandes si le joueur est sûr, de ne pas être prêt? pas très logique areEqual = String.Equals(caracpris, reponseattendu, StringComparison.Ordinal); }
Ici
bool areEqual = String.Equals(caracpris, reponseattendu, StringComparison.Ordinal);
Quel est l'intérêt de te compliquer la vie? pour quoi un Eqals, pourquoi une comparaisons Ordinale?
caracpris != reponseattendune te suffit pas?
Et pour conclure sur cette partie du code, tu as écrit deux fois la même chose.
Donc en cas d'erreur, il te faudra la corriger deux fois.
En programmation, on cherche à éviter ça, en utilisant une méthode, un objet (C# est un langage tout objet...) ou au pire en écrivant judicieusement la boucle
string caracpris; do { Console.WriteLine("Si tu es prêt? Tape YES!"); caracpris = Console.ReadLine(); } while (caracpris != "YES")
ou encore mieux, en laissant à l'utilisateur la possibilité de répondre en minuscule
string caracpris; do { Console.WriteLine("Si tu es prêt? Tape YES!"); caracpris = Console.ReadLine(); } while (string.Compare(caracpris, "YES",true) != 0);
Utilisateur anonyme
Modifié par Whismeril le 30/08/2016 à 00:33
Modifié par Whismeril le 30/08/2016 à 00:33
Dans les instructions, tu as oublié de dire qu'il faut répondre plus ou moins
Ensuite "tu as trouvé" est trop compliqué il y aura forcément des erreurs de frappe, oui ou ok suffisent
Pour "trier" les réponses de l'utilisateur, tu peux faire un switch
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Ensuite "tu as trouvé" est trop compliqué il y aura forcément des erreurs de frappe, oui ou ok suffisent
Pour "trier" les réponses de l'utilisateur, tu peux faire un switch
int xMax = 100; int xMin = 0;//déjà dans les instructions c'est de 1 à 100 pas de 0 à 100... int nbCoups = 0; bool onContinue = true; do { nbCoups++; int xRes = (xMax + xMin) / 2; Console.WriteLine(string.Format("Est-ce {0}? si oui tape OK, sinon tape + ou -",xRes)); switch(Console.ReadLine()) { case "+": xMin = xRes;//c'est plus donc le résultat proposé devient le nouveau minimun break; case "-": xMax=xRes;//inversement break; case "OK": case "ok": case "oK": case "Ok"://j'ai mis les 4 possibilités juste pour te montrer que ça existe Console.WriteLine(string.Format("J'ai trouvé en {0} coups", nbCoups)); Console.ReadLine(); onContinue = false; break; default://toute autre réponse Console.WriteLine("Réponse non attendue"); //comme là le programme va refaire la même proposition, on enlève un coup qui sera ajouté à la prochaine itération nbCoups--; break; } }while(onContinue);
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Utilisateur anonyme
Modifié par Whismeril le 30/08/2016 à 00:30
Modifié par Whismeril le 30/08/2016 à 00:30
Et là tu constateras que ton problème est résolu, mais en soit ça n'est pas un problème de programmation, mais de math.
La moyenne entre un min est un max c'est (min + max)/ 2...
Ce que tu aurais très vite vu en exécutant le code en pas à pas, la base du débogage....
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
La moyenne entre un min est un max c'est (min + max)/ 2...
Ce que tu aurais très vite vu en exécutant le code en pas à pas, la base du débogage....
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Vraiment je te remercie tu m'as montré une manière de faire que j'ignorais totalement! Et oui je me suis rendu compte qu'il fallait faire xmin + xmax mais seulement le lendemain :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question