Цитата:
Сообщение от Gamer2100
буду его юзать!!!
|
Нинада!!! Разбирайся с процедурами и функциями, такой код просто нечитаем.
Зачем столько if-ов с одинаковым условием идущих подряд? Если не специально — замени их на конструкцию вида:
Код:
if f = … then begin
WriteLn(…);
WriteLn(…);
…
WriteLn(…);
end;
Т. о. этот блок должен выглядеть так:
Код:
if f = 'Мордкович' then begin
WriteLn('Молодец, все слои защиты пройдены, вот мои ники и пароли:');
WriteLn('"WebMoney"');
WriteLn('код: 099087336262');
WriteLn('пароль: ***');
WriteLn('код доступа к фаилу ключей:***');
WriteLn('"E-mail"');
WriteLn('login:sergey1993@bk.ru');
WriteLn('pass:***');
WriteLn('"Мой сайт"');
WriteLn('login:young-gamedev');
WriteLn('pass:***');
WriteLn('"GTAMaps"');
WriteLn('login:X3M-NRG');
WriteLn('pass:***');
WriteLn('Есть ещё, но я их забыл.:-(');
WriteLn('Вы закончили?');
end
else begin
WriteLn('Ошибка. Прощайте.');
goto 1;
end;
f, кстати, — плохое имя для переменной, лучше использовать «говорящие» имена.
По более раннему вопросу. В коде:
Код:
var x, y: Integer;
…
x := round(y / 4);
происходит ошибка, т. к. компилятор промежуточное значение операции деления сохраняет в переменную y, а она целочисленная. Через это вот такое выходит. Ergo, вводить временную переменную натурального типа для операции.
Цитата:
Сообщение от Gamer2100
программа вторая
|
Это, в общем-то, заметно. Повторюсь, вне понятий процедур и функций паскаля не существует. Еще маленько помарализаторствую — структурируй текст, делай отступы.
Цитата:
Сообщение от Gamer2100
просто прога выходит, после ответа прога завершается
|
Вот видишь. Текст так запутан, что ты сам не можешь понять, где в нем логическая ошибка. И вряд-ли кто-то захочет разбираться в таком коде, если автор сам для себя не сделал его удобным.
Впрочем, с опытом это придет.
Ща я тебе даже накидаю скелет этой твоей проги. Если че — не обессудь, паскаля я уже давно в глаза не видел:
Код:
program Pass;
function AccessGranted: boolean;
begin
{Здесь асякие вопросы-распросы}
{Если все ответы верны — присваиваешь функции значение «True»}
end;
function ExitConfirmed: boolean;
var
Ch: Char;
begin
while KeyPressed do ReadKey; {чистим буфер клавы}
WriteLn('Do ya rly wanna to exit (Y/N)?');
repeat
repeat until KeyPressed;
Ch := ReadKey;
until (Ch = #89) or (Ch = #78); {с кодами мог напутать}
ExitConfirmed := (Ch = #89);
end;
procedure OutPasswords;
begin
{Здесь вывод паролей}
end;
begin
repeat
if AccessGranted then OutPasswords else WriteLn('Ошибка. Покедава.');
until ExitConfirmed;
end.
Итого, тебе остается только заполнить одну процедуру и одну функцию. Дерзай.