IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Arrêt d'une condition


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Points : 80
    Points
    80
    Par défaut Arrêt d'une condition
    Bonjour,

    Je fais appel à vous aujourd'hui car je n'arrive pas à arrêter ma condition.
    Je vous expose ma situation :

    Alors j'ai un petit jeu à faire en C#, consistant à deviner un nombre à l'utilisateur et afficher le nombre d'essais qu'il lui a fallu.
    Le seul soucis, c'est que quand j'arrive à trouver le nombre, le programme me retourne mon instruction de départ "Veuillez rentrer votre nombre''.
    Alors que je veux qu'il ferme le programme après avoir afficher le nombre d'essais.

    Je vous mets mon programme ci - dessous :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace ConsoleApp3
    {
        class Program
        {
            static void Main(string[] args)
            {
                Random nbRandom = new Random();
                int nbUser, i, tirage;
     
     
                tirage = nbRandom.Next(1, 101);
                Console.WriteLine(+tirage);
                i = 1;
     
     
     
                do
                {
                    Console.WriteLine("    ");
                    Console.Write("  Veuillez rentrer votre nombre : ");
     
                    nbUser = Convert.ToInt32(Console.ReadLine());
                    if (nbUser < tirage)
                    {
                        Console.WriteLine("    ");
                        Console.WriteLine("Le nombre recherché est plus grand");
                        i++;
                    }
     
                    else if (nbUser > tirage)
                    {
                        Console.WriteLine("    ");
                        Console.WriteLine("Le nombre recherché est plus petit");
                        i++;
                    }
     
                    else if (nbUser == tirage)
                    {
                        Console.Write("   Bravo, vous avez trouvé le nombre caché, en : " + i +"  essai(s)");
     
                    }
     
     
                } while (i < 8 || nbUser == tirage);
                Console.Write("   Vous avez perdu, le nombre caché était : " + tirage);
                Console.Read();
     
     
     
     
     
            }   
        }
    }
    En attendant votre aide, je vais essayer de régler le problème de mon côté.

    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Après avoir trouvé ton nombre il faut quitter la boucle avec : Exit do
    Ensuite il faut que tu rajoutes un flag boolean (ex : Bool Founded) :
    Ce flag passé à True devra être placé avant de quitter ta boucle (Exit do) de manière à ce qu'à la sortie de ta boucle tu détermines dans une conditionnelle :
    Si Founded = True alors Quitter Application Sinon Afficher Vous n'avez pas trouvés le nombre secret.

    Voilà en espérant que tu t'en sortes avec ces éléments.

    Bon codage ++

  3. #3
    Membre du Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 47
    Points : 68
    Points
    68
    Par défaut
    bonsoir!

    c'est pas toujours simple de faire des conditions avec les boucles.

    remplace
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    while (i < 8 || nbUser == tirage);
    par
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    while(i < 8 && nbUser != tirage);

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Points : 80
    Points
    80
    Par défaut
    Merci pour la réponse !

    En fait je l'avais déjà trouver x) . Malgré le fait que mon premier problème ait été résolu, il y a un autre problème qui a fait son apparition.
    Alors quand je fais la modification du :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (i < 8 && nbUser!= tirage);
    En sortie, quand l'utilisateur a trouvé le nombre caché, j'ai ça :

    Nom : truc.PNG
Affichages : 224
Taille : 3,6 Ko

    Alors que je ne veux que l'affichage du nombre d'essais (de la premier ligne).

    Je vais chercher de mon côté, bon week - end !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Condition d'arrêt dans une classe
    Par elglantosimpatico dans le forum Général Python
    Réponses: 1
    Dernier message: 13/05/2016, 19h08
  2. Condition d'arrêt d'une boucle WHILE
    Par el_gringo16 dans le forum Débuter
    Réponses: 4
    Dernier message: 15/06/2010, 18h09
  3. Comment dois-je remplir la condition d'arrêt d'une boucle for ?
    Par nevil dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/03/2010, 11h35
  4. Réponses: 2
    Dernier message: 24/06/2004, 09h13
  5. comment vérifier qu'une table esclave vérifie une condition?
    Par loikiloik dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/04/2004, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo