Problème Condition

Résolu
Bonjour,
Je me permet de poster ce petit programme en console que j'ai fais et que je n'arrive pas à faire fonctionner malgré avoir vérifier la syntaxe, je suis seulement débutant en C#, c'est pour cela que j'ai mis l'entièreté du code de la page.
Le but est de rentrée un nombre gagnant (que j'essayerai plus-tard de générer automatiquement et aléatoirement) que l'on va devoir trouver grâce au indication de la console sur les nombres précédemment rentrés.
Merci à ceux qui arriveront à m'aider, cela m'aidera à progresser et je vous en serez très reconnaissant.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Jeux_du_juste_nombre
{
class Program
{
static void Main(string[] args)
{
Console.Write("Choisissez le nombre gagnant entre 0 et 1000 : ");
int NumEnter = int.Parse(Console.ReadLine());

Console.Clear();

Console.Write("Choisissez un nombre entre 0 et 1000 : ");
int NumChoose = int.Parse(Console.ReadLine());

while (NumEnter != Numchoose)
{
if (NumChoose < NumEnter)
{
Console.WriteLine("C'est plus haut !");
Console.Write("Choisissez un nombre entre 0 et 1000 : ");
int NumChoose = int.Parse(Console.ReadLine());
}
else
{
Console.WriteLine("C'est plus bas !");
Console.Write("Choisissez un nombre entre 0 et 1000 : ");
int NumChoose = int.Parse(Console.ReadLine());
}
}

Console.ReadKey();
}
}
}

2 réponses

  1. Ton problème maintenant. Cela vient du fait que tu déclares plusieurs variables avec le même nom, voir les commentaires dans le code ci dessous
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Jeux_du_juste_nombre
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write("Choisissez le nombre gagnant entre 0 et 1000 : ");
                int NumEnter = int.Parse(Console.ReadLine());
    
                Console.Clear();
    
                Console.Write("Choisissez un nombre entre 0 et 1000 : ");
                int NumChoose = int.Parse(Console.ReadLine());// ici une variable NumChoosse
    
                while (NumEnter != Numchoose)
                { 
                    if (NumChoose < NumEnter)
                    {  
                        Console.WriteLine("C'est plus haut !");
                        Console.Write("Choisissez un nombre entre 0 et 1000 : ");
                        int NumChoose = int.Parse(Console.ReadLine());//là une seconde NumChoose qui se substitue à la précédente et qui n’existera plus dès le prochain }
                    }
                    else
                    {
                        Console.WriteLine("C'est plus bas !");
                        Console.Write("Choisissez un nombre entre 0 et 1000 : ");
                        int NumChoose = int.Parse(Console.ReadLine()); //et encore ici une troisième NumChoose qui se substitue à la première et qui n’existera plus dès le prochain }
                    }
                }
    
                Console.ReadKey();
            }
        }
    } 


    Il faut que tu utilises la première variable déclarée sans en déclarer de nouvelles, donc sans mettre un type (int dans ton cas) en debut de ligne.
    1. Merci beaucoup je vais me pencher sur la question dés que j'aurai un peu de temps et désoler de répondre si tardivement.
  2. Bonjour

    Tu as essayé d’utiliser la coloration syntaxique merci, mais comme tu peux le voir le résultat n’est pas au rendez-vous. C’est parce qu’il faut lui indiquer que c’est du C# en suivant ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    Ce qui donne
     using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Jeux_du_juste_nombre
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write("Choisissez le nombre gagnant entre 0 et 1000 : ");
                int NumEnter = int.Parse(Console.ReadLine());
    
                Console.Clear();
    
                Console.Write("Choisissez un nombre entre 0 et 1000 : ");
                int NumChoose = int.Parse(Console.ReadLine());
    
                while (NumEnter != Numchoose)
                { 
                    if (NumChoose < NumEnter)
                    {  
                        Console.WriteLine("C'est plus haut !");
                        Console.Write("Choisissez un nombre entre 0 et 1000 : ");
                        int NumChoose = int.Parse(Console.ReadLine());
                    }
                    else
                    {
                        Console.WriteLine("C'est plus bas !");
                        Console.Write("Choisissez un nombre entre 0 et 1000 : ");
                        int NumChoose = int.Parse(Console.ReadLine());
                    }
                }
    
                Console.ReadKey();
            }
        }
    }