C#, прерывание цикла

Michael_Komas

Новичок
Автор темы
15
1
C#:
Console.Write("Введите ваше имя: ");
string? name = Console.ReadLine();
Console.Write("Введите вашу фамилию: ");
string? surname = Console.ReadLine();
Console.WriteLine($"Добрый вечер {name} {surname}");
int password_pass = 122;
Console.Write("Введите пароль: ");
int password = Convert.ToInt32(Console.ReadLine());
int time = 5;
if (password == password_pass)
        Console.WriteLine("Приятного пользования!");
    else
do
{
        Console.WriteLine($"Неправильный пароль! Осталось попыток: {time}");
        Console.Write("Введите пароль: ");
        int password1 = Convert.ToInt32(Console.ReadLine());
    time--;
    if (password1 == password_pass)
        Console.WriteLine("Приятного пользования!");
    break;
}
while (time > 0);
if (time == 0)
Console.WriteLine("Вы исчерпали свои попытки. Программа заблокирована.");
Имеется такой код. Он должен в случае введения правильного пароля после ошибочного в течении 5 попыток, остановить цикл.. Знает кто, как правильно сделать это?
 
Решение
C#:
            Console.Write("Введите ваше имя: ");
            string? name = Console.ReadLine();
            Console.Write("Введите вашу фамилию: ");
            string? surname = Console.ReadLine();
            Console.WriteLine($"Добрый вечер {name} {surname}");
            int password_pass = 122;
            Console.Write("Введите пароль: ");
            int temp;
            int attemp = 4;
            for (; attemp >= 0; attemp--)
            {
                int.TryParse(Console.ReadLine(), out temp);
                if (password_pass == temp)
                {
                    Console.WriteLine("Приятного пользования!");
                    break;
                }
                else...

Nerykery

Известный
522
126
Используй структуру if else. Создай bool переменную и меняй ей значение при вводе правильного пароля. Создай условие что при значение bool переменной true цикл останавливался

Или тебе нужно прям кодом скинуть?

У тебя код максимально каличный. Он буквально не читаемый, ты его писал?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C#:
            Console.Write("Введите ваше имя: ");
            string? name = Console.ReadLine();
            Console.Write("Введите вашу фамилию: ");
            string? surname = Console.ReadLine();
            Console.WriteLine($"Добрый вечер {name} {surname}");
            int password_pass = 122;
            Console.Write("Введите пароль: ");
            int temp;
            int attemp = 4;
            for (; attemp >= 0; attemp--)
            {
                int.TryParse(Console.ReadLine(), out temp);
                if (password_pass == temp)
                {
                    Console.WriteLine("Приятного пользования!");
                    break;
                }
                else
                    Console.WriteLine($"Неправильный пароль! Осталось попыток: {attemp}");
            }
            if(attemp < 0)
                Console.WriteLine("Вы исчерпали свои попытки. Программа заблокирована.");
 
  • Нравится
Реакции: Michael_Komas и Z3roKwq

Michael_Komas

Новичок
Автор темы
15
1
Используй структуру if else. Создай bool переменную и меняй ей значение при вводе правильного пароля. Создай условие что при значение bool переменной true цикл останавливался

Или тебе нужно прям кодом скинуть?

У тебя код максимально каличный. Он буквально не читаемый, ты его писал?
Да, код мой. Пытаюсь понять, как язык устроен и попытаться его оптимизировать, привести в нормальный вид. Если поможешь, буду весьма благодарен. Желательно с объяснением