Почему мой do-while l oop не повторяется, хотя пароль не совпадает? - PullRequest
0 голосов
/ 02 апреля 2020

Моя программа должна бесконечно просить пользователя повторно вводить свое имя пользователя и пароль, пока они не совпадут с их первыми вводами, но l oop запускается только один раз. Я отключил ту часть, которая работает, когда пользователь вводит правильные данные в течение трех попыток, поэтому, пожалуйста, не просите меня переписать ее, так как в противном случае это представление не сможет охватить более опытных разработчиков. Пожалуйста, помогите мне решить эту проблему, так как я действительно хочу запустить эту программу.

Console.WriteLine("Entry denied");
Console.WriteLine("Please re-enter your username:");
string username3 = Console.ReadLine();
Console.WriteLine("Please re-enter your password");
string password3 = Console.ReadLine();

do
{
    Console.WriteLine("Please re-enter your username once more:");
    string username4 = Console.ReadLine();
    Console.WriteLine("Please re-enter your password once more");
    string password4 = Console.ReadLine();

    if (username == username4) 
    {
        usernamematch = true;
        if (usernamematch == true)
        {
            if (password == password4) 
            {
                passwordmatch = true;
                if (passwordmatch == true)
                {
                    Console.WriteLine("You, at this point, would be redirected to   our webpage but this is c# programming.");
                    break;
                }
                else
                {

                }
            }
        }
    }
    else
    {

    }
} while (username != username3 || password != password3);

1 Ответ

0 голосов
/ 03 апреля 2020

Это все еще имеет бесконечное значение l oop (НЕ рекомендуется), но оно выполнит свою работу. Нет необходимости использовать что-либо, кроме «true», в то время как l oop bool, потому что вы собираетесь выйти из него с помощью «break;».

Console.WriteLine("Entry denied");
Console.WriteLine("Please re-enter your username:");
string username3 = Console.ReadLine();
Console.WriteLine("Please re-enter your password");
string password3 = Console.ReadLine();

while (true)
{
    Console.WriteLine("Please re-enter your username once more:");
    string username4 = Console.ReadLine();
    Console.WriteLine("Please re-enter your password once more");
    string password4 = Console.ReadLine();

    usernamematch = username == username4;
    passwordmatch = password == password4;
    if (usernamematch && passwordmatch) 
    {
        Console.WriteLine("You, at this point, would be redirected to   our webpage but this is c# programming.");
        break;               
    }
}
...