1

Тема: Задача з циклом do while

(en)

Create next logic. Using do-while make logic for entering password. Create password variable and assign it some value for password. Ask user to enter password. If it is correct - "Access Granted" should be printed. If not correct - "Please try again". If three attempts were incorrect - "Account is blocked" and exit from app. Two examples if password is 'c#rulezzz':

Створіть таку логіку. Використання логіки do-while для введення пароля. Створіть змінну пароля та надайте їй якесь значення для пароля. Попросіть користувача ввести пароль. Якщо все правильно - має бути надруковано "Доступ дозволено". Якщо не так - "Спробуйте ще раз". Якщо три спроби були невірними - "Акаунт заблокований" та вихід із програми. Два приклади, якщо пароль c#rulezzz:

Please enter a password:
> root
Please try again
> cool
Please try again
> book
Account is blocked
---
Please enter a password:
> root
Please try again
> c#rulezzz
Access Granted

2

Re: Задача з циклом do while

Так, це задача із циклом, але ви, мабуть, щось про неї хотіли спитати? Чи просто поділитися радістю, що вам таку задачу задали?

3

Re: Задача з циклом do while

@koala хотіла б допомогу із розв'язанням

4

Re: Задача з циклом do while

public class Program
{
    const string InputMesage = "Please enter a password:";
    const string AccessGrantedMessage = "Access Granted";
    const string AccountIsblockedMessage = "Account is blocked";

    const string CorrectPassword = "c#rulezzz";

    const int FailLimitation = 3;

    public static void Main(string[] args)
    {
        var hasAuth = Authorize();

        DisplayAuthStatus(hasAuth);

        _ = Console.ReadKey();
    }

    public static bool Authorize()
    {
        var attempt = 0;
        do
        {
            Console.WriteLine(InputMesage);
            var password = Console.ReadLine();
            if (password == CorrectPassword)
                return true;

            attempt++;
        } while (attempt != FailLimitation);

        return false;
    }

    private static void DisplayAuthStatus(bool hasAuth)
    {
        if (!hasAuth)
        {
            Console.WriteLine(AccountIsblockedMessage);
            return;
        }

        Console.WriteLine(AccessGrantedMessage);
    }
}