Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2012, 11:13   #1
Антон Кирилин
Новичок
Джуниор
 
Регистрация: 21.04.2012
Сообщений: 2
По умолчанию Паскаль: программа с запрашиваемым пароля

Друзья не могли бы вы мне помочь с написанием программы которая запрашивает пароль (например четырёхзначное число)до тех пор пока он не будет правильно введён. Заранее спасибо.
Антон Кирилин вне форума Ответить с цитированием
Старый 21.04.2012, 11:15   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
Repeat
  clrscr;
  WriteLn ('Введите пароль: ');
  ReadLn (pas);
until pas = '1234';
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 21.04.2012, 11:51   #3
Антон Кирилин
Новичок
Джуниор
 
Регистрация: 21.04.2012
Сообщений: 2
По умолчанию

спасибо за оперативность)

у меня почему то не получается запустить, он не распознаёт "clrscr"

Последний раз редактировалось Stilet; 22.04.2012 в 00:51.
Антон Кирилин вне форума Ответить с цитированием
Старый 21.04.2012, 13:40   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
uses
   crt;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 21.04.2012, 16:53   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Антон Кирилин Посмотреть сообщение
у меня почему то не получается запустить, он не распознаёт "clrscr"
Выкиньте этот оператор из текста и впредь никогда его в своих программах не используйте - дурной тон.
s-andriano вне форума Ответить с цитированием
Старый 21.04.2012, 17:01   #6
temaps
Форумчанин
 
Регистрация: 15.05.2011
Сообщений: 160
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Выкиньте этот оператор из текста и впредь никогда его в своих программах не используйте - дурной тон.
Как интересно. А альтернативу предложите?
temaps вне форума Ответить с цитированием
Старый 21.04.2012, 18:03   #7
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,378
По умолчанию

На мой взгляд, да и не только, пароль не должен светиться на экране.
Я бы пошел таким путем:
Код:
Uses Crt;
...
function Password(): string;
var ch: char;
    pas : string;
begin
  pas := '';
  repeat
     if KeyPressed() then begin
        ch := ReadKey();
        if ch = #0 then
           ch := ReadKey();
        if Ord(ch) = 13 then
           Break;
        write('*');
        pas := pas + ch;
     end;
  until false;
  Password := pas;
end;
и затем вызывал эту функцию:
Код:
pas := Password();
и выполнял сравнение, см. код от Hacker19_90.
вместо
Код:
readln(pas);
Как-то так ...
Как-то так, ...

Последний раз редактировалось ViktorR; 21.04.2012 в 18:07.
ViktorR вне форума Ответить с цитированием
Старый 21.04.2012, 21:33   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от temaps Посмотреть сообщение
Как интересно. А альтернативу предложите?
Я же написал - выкинуть. Консольная программа не должна без очень серьезной причины уничтожать вывод программ, которые были запущены до нее.
Есть такой принцип - не ломай то, что построено не тобой. И нарушение этого принципа - дурной тон.
s-andriano вне форума Ответить с цитированием
Старый 21.04.2012, 23:54   #9
temaps
Форумчанин
 
Регистрация: 15.05.2011
Сообщений: 160
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Я же написал - выкинуть. Консольная программа не должна без очень серьезной причины уничтожать вывод программ, которые были запущены до нее.
Есть такой принцип - не ломай то, что построено не тобой. И нарушение этого принципа - дурной тон.
Понятно. ТС, не слушай его. Если тебе нужно очистить экран, то пользуйся спокойно. Дурной тон всякие типа граммарнаци находят везде, где не лень.
temaps вне форума Ответить с цитированием
Старый 22.04.2012, 09:16   #10
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Правильно.
Если нужно очистить фон - пользуйся.
Только сперва подумай, действительно ли тебе в данном конкретном случае требуется эта очистка.
В приведенном примере программа без очистки совсем не теряет своей функциональности, поэтому очистка не нужна. Следовательно, все ненужное и вредное - убрать.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа для подбора пароля NightVamp Помощь студентам 10 07.02.2012 18:06
Программа, паскаль Ri4ard_Zlo Помощь студентам 3 05.12.2011 22:24
Запрос пароля на начале программы и запускалась ли ранее программа pastuhdima Помощь студентам 1 06.10.2011 17:39
Программа Паскаль KILLDAFROG Помощь студентам 6 03.02.2011 20:45
Программа на Паскаль nikepol Помощь студентам 1 16.11.2010 19:03