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 :

Petit Probleme avec la boucle while


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 21
    Par défaut Petit Probleme avec la boucle while
    Bonjour tous le monde
    Voila j'ai le code suivant :
    Console.WriteLine("Entrez un mot Svp :");
    string Str = Console.ReadLine();
    while (Str != "Ok")
    {
    Console.WriteLine("Tapez seulement Ok Svp !! ");
    }
    je veux que l'utilisateur ne puisse pas sortir de cette boucle tant qu'il n'a pas saisie Ok
    J'ai essayé plusieurs methodes avec Return avec break avec do while mais rien de nouveau.
    avec windowsform ça marche impeccablement comme ce code par exemple
    while (dt < Dtp_Naiss.Value || dt < Dtp_Deliv.Value)
    {
    MessageBox.Show(" Entrez une date valide Svp");
    return;
    }
    Merci à tous

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    Par défaut
    Bonjour,
    Dans la boucle tu affiches un message, mais à aucun moment tu permets à l'utilisateur sa saisir une réponse.
    Donc les données testées dans la boucle ne changent pas, la condition de sortie ne change pas => boucle infinie.
    Tu dois donc ajouter un moyen pour que l'utilisateur puisse saisir une réponse DANS la boucle.

    Tatayo

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Il serait bon d'ouvrir un tutoriel pour revoir les bases.
    Dans le premier code ton ReadLine() est en dehors de la boucle, la valeur de Str ne change jamais.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Console.WriteLine("Entrez un mot Svp :");
    string Str= Console.ReadLine();
    while (Str != "Ok")
    {
    Console.WriteLine("Tapez seulement Ok Svp !! ");
    Str = Console.ReadLine();
    }
    Ton deuxième code, contrairement à ce que tu penses, ne fonctionne pas.
    Tu as mis un return dans ta boucle qui a pour effet de sortir de la boucle quelque soit la valeur de dt.

    Edit :
    Si ton objectif est d'obliger la saisie d'un mot de passe, il faudrait boucler tant que la chaine est vide et non tant qu'elle est différente de OK.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    string Str= String.Empty;
    while (String.IsNullOrEMpty(Str))
    {
       Console.WriteLine("Entrez un mot Svp :");
       Str = Console.ReadLine();
    }

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 21
    Par défaut
    Merci à tous
    J'ai oublié de remettre string Str = ReadLine();
    la solution de popo marche à merveille
    Merci à tous encore pour l'aide

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

Discussions similaires

  1. problème avec la boucle while
    Par cobos dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 26/07/2017, 11h03
  2. Problème avec une boucle while avec opérateur &&
    Par paulbach dans le forum Langage
    Réponses: 4
    Dernier message: 08/01/2016, 13h22
  3. Problème avec ma boucle while
    Par gautgaut dans le forum Langage
    Réponses: 7
    Dernier message: 09/07/2013, 18h04
  4. Problème avec des boucles while/for imbriquées
    Par Nico820 dans le forum Général Python
    Réponses: 12
    Dernier message: 14/12/2012, 16h24
  5. [VBA-E] PRobleme avec une boucle DO..LOOP WHILE
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/07/2006, 01h04

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