Ввод пароля с отображением звездочки вместо символа - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Составить программу, обеспечивающую ввод пароля с отображением вместо символа «*». Примечание: в результате на экране должно отображаться диалоговое окно, содержащее сообщение: «Введите пароль». Если пароль введен не верно, выводится соответствующее сообщение, если ошибка ввода повторяется, то отказ в доступе. Если пароль введен, верно, то ведется запуск любой программы.

Решение задачи: «Ввод пароля с отображением звездочки вместо символа»

textual
Листинг программы
  1. uses
  2.   crt;
  3. const
  4.   z:string='qwerty';
  5. var
  6.   a:char;
  7.   b:string;
  8.   c:integer;
  9. begin
  10.   c:=2;
  11.   repeat
  12.     ClrScr;
  13.     write('Enter password:');
  14.     b:='';
  15.     repeat
  16.       a:=ReadKey;
  17.       write('*');
  18.       if a<>chr(13) then b:=b+a;
  19.     until a=chr(13);
  20.     writeln;
  21.     if b<>z then
  22.       begin
  23.         writeln('wrong pssword');
  24.         dec(c);
  25.         delay(10000);
  26.       end;
  27.   until(c=0)or(b=z);
  28.   if c>0 then
  29.     begin
  30.       writeln('Start any program . . . ');
  31.     end
  32.     else
  33.     begin
  34.       writeln('wrong access . . .');
  35.     end;
  36.   delay(10000);
  37. end.

Объяснение кода листинга программы

  1. Подключается библиотека crt.
  2. Определяется константа z, которая содержит строку qwerty.
  3. Определяются переменные a, b и c. Переменная a типа char, переменная b типа string, а переменная c типа integer.
  4. Значение переменной c устанавливается равным 2.
  5. Запускается цикл repeat, который будет выполняться до тех пор, пока значение переменной c не станет равным нулю или пока значение переменной b не станет равным константе z.
  6. Внутри цикла в консоль выводится сообщение Enter password:.
  7. Переменная b сбрасывается в пустую строку.
  8. Запускается цикл repeat, который будет выполняться до тех пор, пока введенный пользователем символ не станет равным символу перевода строки (chr(13)).
  9. Если введенный пользователем символ не равен символу перевода строки, то к строке b добавляется введенный пользователем символ.
  10. После получения символа перевода строки, в консоль выводится сообщение *.
  11. Цикл повторяется до тех пор, пока введенный пользователем символ не станет равным символу перевода строки.
  12. Если введенный пользователем пароль совпадает с константой z, то выводится сообщение wrong access . . ..
  13. Если введенный пользователем пароль не совпадает с константой z, то уменьшается значение переменной c на единицу и выводится сообщение wrong pssword.
  14. Если значение переменной c равно нулю, то выводится сообщение Start any program . . ..
  15. Программа завершается после задержки в 10 секунд.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы