Циклы при попытке дать обратную связь с пользователем - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь использовать функцию while, поэтому каждый раз, когда пользователь вводит неправильное имя пользователя или пароль, CMD сообщает пользователю либо «Неправильное имя пользователя». или «Неправильный пароль». Я вроде сделал это сейчас, пользователь может набрать его несколько раз, пока не получит правильный ответ, проблема в том, что CMD не сообщает пользователю, что имя пользователя / пароль, которые они используют, неверны! Я выложу весь код здесь:

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

namespace Hello
{
    class Program
    {
        static void Main(string[] args)
        {

            string name = "Michael";
            string pass = "coolguy";
            int time = 12;
            string NameInput;
            string PassInput;
            string Exit = "Y";
            string ExitInput;

            Console.Write("\nPlease, enter the time: ");
            time = int.Parse(Console.ReadLine());
            if (time <= 12)
            {
                Console.WriteLine("\nGood Morning. It's " + time + " AM");
            }

            else if (time > 12)
            {
                Console.WriteLine("\nGood Evening. It's " + time + " PM");
            }

            Console.WriteLine("\nPlease, enter your name.");
            do NameInput = Console.ReadLine();
            while (NameInput != name);

            Console.WriteLine("\n Welcome, Michael. Please, enter your password: ");
            do PassInput = Console.ReadLine();

            while (PassInput != pass);

            Console.WriteLine("\nYou successfully have logged in.");
            Console.WriteLine("\nType (Y) to log out.");
            ExitInput = Console.ReadLine();
            if (ExitInput == Exit)
            {
                return;
            }



        }
    }
}

1 Ответ

1 голос
/ 02 мая 2020

Исправлено путем вложения оператора if в оператор do-while:

Console.WriteLine("\n Welcome, Michael. Please, enter your password: ");
        do
        {
            PassInput = Console.ReadLine();
            if(PassInput != pass)
            {
                Console.WriteLine("\nWrong password.");
            }

        } while (PassInput != pass);
...