Проблема в том, что если я ввел пароль правильно то действия должны происходить дальше, по началу так и было, но потом каким то образом, программа начала закрываться даже когда пароль правильный. PascalABC.NET
Program Gamer;
var
key: string;
name: string;
Age: integer;
Height: integer;
Weight: integer;
cartoons: string;
begin
writeln('Добро пожаловать! Для авторизования введите Ваше имя!');
writeln('');
readln(name);
sleep(2000);
writeln(name, ',', ' ', 'Введите Ваш административный пароль');
writeln('');
readln(key);
if(key='wNei3wVrYH~gGNa') then
writeln('Вы авторизовались как администратор!')
else
writeln('Вы ввели неправильно административный пароль!');
sleep(3000);
begin Exit;
writeln('Пройдите небольшой тест, затем результаты напишите на листочке!');
sleep(1000);
writeln('How old are you?');
writeln('');
readln(Age);
if(Age>15) then
writeln('You"re an adult')
else
writeln('You"re not an adult');
sleep(1500);
writeln('Tell me how tall are you?');
writeln('');
readln(Height);
if(Height>30) then
writeln('You"re a very small man!')
else
writeln('You"re already a tall man.');
sleep(2000);
writeln('What is your weight?');
writeln('');
readln(Weight);
if(Weight>100) then
writeln('You"re a very fat person!')
else
writeln('You have the right weight!');
sleep(1500);
writeln('What kind of cartoons do you like?');
writeln('');
readln(cartoons);
sleep(2000);
writeln(name, ' ', 'Все очень превосходно!');
sleep(1000);
writeln('Ваше имя: ', ' ', name);
writeln('Административный пароль: ', ' ', key);
writeln('Возраст: ', ' ', Age);
writeln('Рост: ', ' ', Height);
writeln('Вес: ', ' ', Weight);
writeln('Мультфильмы, которые нравятся: ', ' ', cartoons);
sleep(30000);
end;
end.

2 Окт 2019 в 15:43
237 +1
0
Ответы
1

Проблема заключается в том, что после вывода сообщения о неправильно введенном пароле, вы используете команду Exit, которая завершает выполнение программы. Вам следует удалить эту команду, чтобы программа продолжала выполнение после проверки пароля даже в случае неправильного ввода.

Вот исправленный вариант вашей программы:

Program Gamer;
var
key: string;
name: string;
Age: integer;
Height: integer;
Weight: integer;
cartoons: string;
begin
writeln('Добро пожаловать! Для авторизации введите Ваше имя:');
readln(name);
writeln(name, ', введите Ваш административный пароль:');
readln(key);
if key = 'wNei3wVrYH~gGNa' then
writeln('Вы авторизовались как администратор!')
else
writeln('Вы ввели неправильный административный пароль!');
writeln('Пройдите небольшой тест, затем результаты напишите на листочке:');
writeln('How old are you?');
readln(Age);
if Age > 15 then
writeln('Вы взрослый!')
else
writeln('Вы не взрослый.');
writeln('How tall are you?');
readln(Height);
if Height > 30 then
writeln('Вы очень маленький человек!')
else
writeln('Вы уже высокий человек.');
writeln('What is your weight?');
readln(Weight);
if Weight > 100 then
writeln('Вы очень полный человек!')
else
writeln('У вас правильный вес!');
writeln('What kind of cartoons do you like?');
readln(cartoons);
writeln(name, ', все очень превосходно!');
writeln('Ваше имя:', name);
writeln('Административный пароль:', key);
writeln('Возраст:', Age);
writeln('Рост:', Height);
writeln('Вес:', Weight);
writeln('Любимые мультфильмы:', cartoons);
readln;
end.

Теперь программа будет продолжать работу после проверки пароля, даже в случае ошибочного ввода.

19 Апр 2024 в 18:43
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир