Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ опять программа пароль

Автор: ASD_9 23.05.2007 2:05

Помогите пожалуйста нужно что бы вместо цифр '123' было ***.
unsure.gif Мне уже помогали но я не смог сделать.

вот прога

program parol;
uses crt;
const password:string = '123';

var y:integer;
passwordstring:string;
Procedure PasswordWindow ;
Begin
TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);

write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('Введите пароль');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('У вас осталось 'y' попытки');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('у вас осталось 'y' попытка');
end;
gotoxy(36,12);
readln (passwordstring);
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('непрвильно');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('правильно');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.

Автор: nikita182 23.05.2007 2:09

Цитата(ASD_9 @ 22.05.2007 23:05) *


If Y = 0 Then
exit;




зачем тебе этот кусок? прога и без него на выходе.



насколько я понял ты пытаешься ввести пароль с 3х попыток?

Автор: ASD_9 23.05.2007 2:11

Цитата(nikita182 @ 23.05.2007 1:09) *

зачем тебе этот кусок? прога и без него на выходе.


просто я делаю Базу данных и оттуда я вырезал пароль и этот кусок

Добавлено через 10 мин.
А можно еще так сделать что бы больше 8-ми цифр нельзя вводить

Автор: nikita182 23.05.2007 2:22

 
program parol;
uses crt;
const password:string = '123';

var
ch : char;
y:integer;
passwordstring:string;
Procedure PasswordWindow ;
Begin
TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);

write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('вводи');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('осталось ',y,' попытки');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('осталось ',y,' попытка');
end;
gotoxy(36,12);
passwordstring := '';
ch := ReadKey;
While ch <> #13 Do
Begin
passwordstring := passwordstring + ch;
Write('*');
ch := ReadKey;
End;
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('неправильно');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('правильно');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.



вот держи.

Автор: Sto 23.05.2007 2:23

ch : Char;
cif : Integer;
...
writeln ('У вас осталось ,'y,' попытки');
...
writeln ('у вас осталось ',y,' попытка');
...
{Этот кусок вместо строки readln (passwordstring);}
cif := 1;
ch := ReadKey;
While cif <> 8 Do
Begin
passwordstring := passwordstring + ch;
Write('*');
ch := ReadKey;
cif := cif + 1;
End;
...

Если будут вопросы пиши.

Автор: ASD_9 23.05.2007 2:27

Спасибо smile.gif
А можно еще так сделать что бы больше 8-ми цифр нельзя вводить


Автор: Sto 23.05.2007 2:29

Цитата(ASD_9 @ 22.05.2007 22:27) *

Спасибо smile.gif
А можно еще так сделать что бы больше 8-ми цифр нельзя вводить

Я написал, смотри выше.

Автор: ASD_9 23.05.2007 2:40

я не могу сделать здесь же нет readln(passwordstring);

Автор: nikita182 23.05.2007 2:41

Цитата(Sto @ 22.05.2007 23:29) *

Я написал, смотри выше.

у тебя ТОЛЬКО 8 цифр, 3 не введешь

вот мой вариант:


Begin
passwordstring := passwordstring + ch;
if length(passwordstring) = 9 then break; {<-----добавь}
Write('*');
ch := ReadKey;
End;


Автор: ASD_9 23.05.2007 2:53

Цитата(nikita182 @ 23.05.2007 1:41) *

у тебя ТОЛЬКО 8 цифр, 3 не введешь

вот мой вариант:


Begin
passwordstring := passwordstring + ch;
if length(passwordstring) = 9 then break; {<-----добавь}
Write('*');
ch := ReadKey;
End;




когда вводишь 2 и 3 раз не получается

Автор: nikita182 23.05.2007 3:03

хм.. у мну все норм.
что именно не получается?

Автор: Sto 23.05.2007 3:06

Работает

program parol;
uses crt;
const password:string = '123';
var y, cif:integer;
ch : char;
passwordstring:string;
Procedure PasswordWindow ;
Begin

TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);

write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('Введите пароль');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('У вас осталось ',y,' попытки');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('у вас осталось ',y,' попытка');
end;
gotoxy(36,12);
cif := 1;
ch := ReadKey;
While ch <> #13 Do
Begin
If cif <= 8 Then
begin
passwordstring := passwordstring + ch;
Write('*');
end;
ch := ReadKey;
cif := cif + 1;
End;
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('непрвильно');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('правильно');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.

Автор: ASD_9 23.05.2007 3:08

Цитата(nikita182 @ 23.05.2007 2:03) *

хм.. у мну все норм.
что именно не получается?


вот когда вводишь 1-ый раз то все норм, а когда 2-ой раз, можно писать больше 8-ми

Добавлено через 2 мин.
Вот


program parol;
uses crt;
const password:string = '123';

var
i:integer;
ch : char;
y:integer;
cif:integer;
passwordstring:string;
Procedure PasswordWindow ;
Begin
TextBackGround (Black);
TextColor (White);
ClrScr;
gotoxy(27,10);
write('ЙНННННННННННННННННННННННННН»');
gotoxy (27,12);
write('є є');
gotoxy (27,13);
write('є є');
gotoxy (27,14);
write('є є');
gotoxy(27,11);
write('є є');
gotoxy(27,15);
write('ИННННННННННННННННННННННННННј');

End;


BEGIN

clrscr;
Y := 3;
Repeat
ClrScr;
PasswordWindow;
gotoxy(34,10);
write('‚ўҐ¤ЁвҐ Ї а®«м');
if (y=3) or (y=2) then
begin
gotoxy(29,14);
writeln ('“ ў б ®бв «®бм ',y,' Ї®ЇлвЄЁ');
end;
if y=1 then
begin
gotoxy(29,14);
writeln ('“ ў б ®бв «®бм ',y,' Ї®ЇлвЄ ');
end;
gotoxy(36,12);
ch := ReadKey;

While ch <> #13 Do

Begin

passwordstring := passwordstring + ch;
if length(passwordstring)=9 then break;
Write('*');
ch:=readkey;
end;
if passwordstring <> Password Then
Begin
TextColor (Red);
gotoxy(33,12);
Write ('Џ а®«м ­Ґ ўҐа­л©');
y:=y-1;
End;
If PasswordString = Password Then
Begin
TextColor (Green);
gotoxy(34,12);
Write ('Џ а®«м ўҐа­л©');
End;

Readkey;
Until (PasswordString = Password) Or (Y = 0);

If Y = 0 Then
exit;
end.

Автор: nikita182 23.05.2007 3:14

а обнулять кто будет!


passwordstring := '';



ищи

Автор: ASD_9 23.05.2007 3:24

Сделал smile.gif Большое спасибо good.gif

Автор: nikita182 23.05.2007 3:51

пожалуйста..