Problème code C#

Résolu/Fermé
Mjs - 22 janv. 2008 à 22:48
 Mjs - 23 janv. 2008 à 13:21
Bonjour,

J'ai un code à faire en C# pour mon bts, si vous pouvez m'aider :

Voici le sujet : Jeu du nombre mystérieux.

Il s’agit de trouver en un minimum de coups, un nombre entier compris entre 1 et 100. Ce nombre est tiré de façon aléatoire par l’ordinateur grâce à la fonction aléatoire.

Exemple d’exécution :

Nombre : 32
Trop petit !
Nombre : 68
Trop grand !
Nombre : 55
Bravo : 55 en 3 coups !



Cependant, j'ai une erreur dans ma boucle do while qui me permet de répéter tant quer le chiffre mystère n'est pas atteint.

Voici mon code :

using System;
using System.Collections.Generic;
using System.Text;

namespace TpPerso1Ex2
{
class TpPersoEx2
{
static void Main(string[] args)
{
int myst, num, compte;
// Déclaration d’une fonction génératrice d'un nombre aléatoire entre 1 et 100
System.Random rnd = new System.Random();

{
myst = rnd.Next(1, 100);
compte = 0;
Console.Write("__________________________ ");
Console.Write("\nJeu du nombre mystérieux : ");
Console.Write("\n__________________________ ");
do
{
do
{
Console.Write("\n\n Saisir un nombre entre 1 et 100 :");
num = int.Parse(Console.ReadLine());
}
while ((num > 100) || (num < 1));
{
if (num > myst)
{
Console.Write("\n\n Trop grand !");
compte = compte + 1;
}
else if (num < myst)
{
Console.Write("\n\n Trop petit !");
compte = compte + 1;
}
else
Console.Write("\n\n Bravo ! vous avez trouvé le nombre mystère !");
Console.Write("\n\n Vous avez trouvé en {0} fois", compte);
compte = compte + 1;
}

}
while (num = myst);


}
}

}
}

Merci par avance !

Cordialement,

Emmanuel
A voir également:

3 réponses

Bon à défaut de m'y plonger vraiment, tu peux déjà virer les System.Random rnd = new System.Random(); en remplaçant par Random rnd = new Random(); (sinon y'a pas d'intérêt à faire un using System;).
Ca ne résout pas ton problème ceci dit, j'y jette un oeil.
0
Ok, trouvé je pense.

Tu as : while (num = myst); Ca ne risque pas de fonctionner, = c'est une affectation, pas une égalité.
Remplace par while(num==myst); Ca devrait aller si le reste est cohérent.
0
merci beaucoup j'ai trouvé :

while (num != myst);

Merci encore
0