Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

помогите с паскалём

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> помогите с паскалём
Имя
Сообщение << Старые топики   Новые топики >>
помогите с паскалём - 2005-05-29 13:44:25   
nobody-HH

Сообщений: 95
Оценки: 0
Присоединился: 2005-05-15 22:36:39
в а)прога должна кодировать пасс по аски-таб на 3 символа но выдаёт какуюто хренотень
в б) должна раскодировать пасс назад, и тоже выдаёт какуюто хренотень
где ошибка помогите плzz[:pray:][:pray:][:pray:]





PROGRAM DB_Eintrag;

USES CRT;

CONST
OFFSET = 3;

VAR
Laenge : Byte;

Name,
Vorname,
Vorwahl_str,
Telefon_str,
Passwort,
Passw_code : String[20];


Telefon,
Vorwahl : Longint;

DB_String : String;

i : byte;
Code : Integer;

Ende,
Menu,
Zeichen : Char;

BEGIN
REPEAT
CLRSCR;

WriteLn(''A. DB-Eintrag formatieren'');
WriteLn(''B. DB-Eintrag auslesen'');
ReadLn(Menu);
Menu := UpCase(Menu);
CASE Menu OF
''A'' : BEGIN

clrscr;
WRITE(''geben sie bitte ihren Namen ein: '');
ReadLn(Name);
WRITE(''geben sie bitte ihren Vornamen ein: '');
ReadLn(Vorname);
REPEAT
Write(''geben sie ihre vorwahl ein: '');
ReadLn(Vorwahl_Str);
VAL(Vorwahl_Str, Vorwahl, Code);
UNTIL (code=0) and (Vorwahl <= 99999) and (Vorwahl >= 0);
REPEAT
Write(''geben sie ihre Telefon ein: '');
ReadLn(Telefon_Str);
VAL(Telefon_Str, Telefon, Code);
UNTIL (code=0) and (Telefon > 0);
WRITE(''geben sie bitte den gew&#129;nschten Passwort ein: '');
ReadLn(Passwort);
FOR i := 1 TO LENGTH(Passwort) DO BEGIN
Passw_code := CHR(ORD(Passwort) + OFFSET);<BR> Passw_Code := Passw_Code + passw_code;<BR> END;<BR> WRITE(''geben sie bitte den gew&amp;#129;nschten Trennzeichen ein: '');<BR> ReadLn(Zeichen);<BR> DB_String := Name+Zeichen+Vorname+Zeichen;<BR> DB_String := DB_String+Vorwahl_Str+Zeichen+Telefon_Str;<BR> DB_String := DB_String+Zeichen+Passw_code;<BR> WriteLn;<BR> WriteLn(DB_String);<BR> END;<BR><BR> ''B'' : BEGIN<BR> clrscr;<BR> Laenge := 0;<BR> i := 0;<BR> zeichen := '' ''; <BR> Write(''Schreiben Sie den DB-Eintrag: '');<BR> ReadLn(DB_String);<BR> REPEAT<BR> i := i + 1;<BR> IF DB_String in [''a''..''z'', ''A''..''Z'', ''0''..''9'']<BR> THEN<BR> Laenge := Laenge + 1<BR> ELSE<BR> BEGIN<BR> Name := copy(DB_String, 1, laenge);<BR> DELETE(DB_String, 1, laenge);<BR> Zeichen := DB_String[1];<BR> DELETE(DB_String, 1, 1);<BR> END; <BR> UNTIL zeichen &lt;&gt; '' '';<BR> Vorname := COPY(DB_String, 1, POS(Zeichen, DB_String) - 1);<BR> DELETE(DB_String, 1, POS(Zeichen, DB_String));<BR> Vorwahl_Str := COPY(DB_String, 1, POS(Zeichen, DB_String) - 1);<BR> DELETE(DB_String, 1, POS(Zeichen, DB_String));<BR> Telefon_Str := COPY(DB_String, 1, POS(Zeichen, DB_String) - 1);<BR> DELETE(DB_String, 1, POS(Zeichen, DB_String));<BR> For i := 1 TO LENGTH(DB_String) DO<BR> Passwort := CHR(ORD(DB_String)-OFFSET);<BR> WriteLn(Name);<BR> WriteLn(Vorname);<BR> WriteLn(Vorwahl_str);<BR> WriteLn(telefon_str);<BR> WriteLn(Passwort);<BR> ReadLn;<BR> END;<BR> END;{case beendet}<BR> Write(''m&#8221;chten Sie beenden: '');<BR> ReadLn(Ende);<BR> Ende := UpCase(Ende);<BR> UNTIL Ende = ''J'';<BR>END.[:pray:][:pray:][:pray:]
Post #: 1
помогите с паскалём - 2005-06-02 10:20:26   
DEV.Orion

Сообщений: 3
Оценки: 0
Присоединился: 2005-03-13 19:25:11
попробуй сначала обнулять переменные! могить он кодирует не то что нуна! и вообще введи ещё переменные и храни промежуточные результаты там(так чисто для проверки!) а если чё то пиши на masima@bk.ru. поможем!
Post #: 2
Страниц:  [1]
Все форумы >> [Веб-программинг] >> помогите с паскалём







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.