Problème Condition

Résolu/Fermé
Komode Messages postés 9 Date d'inscription lundi 2 août 2021 Statut Membre Dernière intervention 14 avril 2023 - 18 sept. 2021 à 14:53
Komode Messages postés 9 Date d'inscription lundi 2 août 2021 Statut Membre Dernière intervention 14 avril 2023 - 21 sept. 2021 à 18:25
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

Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 928
18 sept. 2021 à 17:10
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();
        }
    }
} 

0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 928
18 sept. 2021 à 17:16
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.
0
Komode Messages postés 9 Date d'inscription lundi 2 août 2021 Statut Membre Dernière intervention 14 avril 2023
21 sept. 2021 à 18:25
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.
0