Ввод пароля с отображением звездочки вместо символа - Turbo Pascal
Формулировка задачи:
Составить программу, обеспечивающую ввод пароля с отображением вместо символа «*».
Примечание: в результате на экране должно отображаться диалоговое окно, содержащее сообщение: «Введите пароль». Если пароль введен не верно, выводится соответствующее сообщение, если ошибка ввода повторяется, то отказ в доступе. Если пароль введен, верно, то ведется запуск любой программы.
Решение задачи: «Ввод пароля с отображением звездочки вместо символа»
textual
Листинг программы
uses
crt;
const
z:string='qwerty';
var
a:char;
b:string;
c:integer;
begin
c:=2;
repeat
ClrScr;
write('Enter password:');
b:='';
repeat
a:=ReadKey;
write('*');
if a<>chr(13) then b:=b+a;
until a=chr(13);
writeln;
if b<>z then
begin
writeln('wrong pssword');
dec(c);
delay(10000);
end;
until(c=0)or(b=z);
if c>0 then
begin
writeln('Start any program . . . ');
end
else
begin
writeln('wrong access . . .');
end;
delay(10000);
end.
Объяснение кода листинга программы
- Подключается библиотека crt.
- Определяется константа z, которая содержит строку
qwerty. - Определяются переменные a, b и c. Переменная a типа char, переменная b типа string, а переменная c типа integer.
- Значение переменной c устанавливается равным 2.
- Запускается цикл repeat, который будет выполняться до тех пор, пока значение переменной c не станет равным нулю или пока значение переменной b не станет равным константе z.
- Внутри цикла в консоль выводится сообщение
Enter password:. - Переменная b сбрасывается в пустую строку.
- Запускается цикл repeat, который будет выполняться до тех пор, пока введенный пользователем символ не станет равным символу перевода строки (chr(13)).
- Если введенный пользователем символ не равен символу перевода строки, то к строке b добавляется введенный пользователем символ.
- После получения символа перевода строки, в консоль выводится сообщение
*. - Цикл повторяется до тех пор, пока введенный пользователем символ не станет равным символу перевода строки.
- Если введенный пользователем пароль совпадает с константой z, то выводится сообщение
wrong access . . .. - Если введенный пользователем пароль не совпадает с константой z, то уменьшается значение переменной c на единицу и выводится сообщение
wrong pssword. - Если значение переменной c равно нулю, то выводится сообщение
Start any program . . .. - Программа завершается после задержки в 10 секунд.