@AlexB_49
Студент

Как при определенном пользовательском вводе не продолжать выполнять тело цикла?

Я пишу для себя небольшую консольную программу (генератор паролей). У меня есть вот такой кусочек кода:

else if (answer == "NO" || answer == "no" || answer == "No" || answer == "nO")
		{
			system("cls");

			cout << "Generating passwords... " << endl << endl << endl;

			for (int i = 0; i < quantity; i++)
			{
				cout << "\nNumber of characters of the password №" << i + 1 << ": ";
				cin >> length;

				if (length < 8)
					break;

				else
				{
					cout << endl;

					for (int j = 0; j < length; j++)
					{
						cout << possible_characters[rand() % size];
					}

					cout << endl << endl;
				}
			}
		}


До этого кода пользователь выбирает количество паролей и то хочет ли он чтобы во всех паролях было одинаковое количество символов. Если ответ нет, то надо для каждого пароля вводить свое количество символов.

Допустим количество паролей 2 и ответ нет. Тогда на экране:

Введите количество символов для пароля №1: (ввод)

И если количество символов меньше 8, то выбивает ошибка и предлагается еще раз ввести количество символов для первого пароля. Когда уже ввод правильный, то выводится сгенерированный пароль, и потом программа приступает ко второму паролю. Думаю смысл понятен.

Как мне это реализовать? Подскажите пожалуйста
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
QWERTYUIOPas
@QWERTYUIOPas
КраткоОСеБе
Решение:
while(1){
 //code
 int answer;
 cin<<a;
 if(a<8){
  break;
 }
 std::cout>>"Wrong answer!!!\n"
}

В одном из кусков кода правильнее было бы писать:
if(answer in ["NO","no"",No"","nO"]){
 //code...
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы