Brak odszyfrowania

0

Moje pytani brzmi dlaczego po podaniu wygenerowanego 'szyfru' program nie chce odszyfrowac zaszyfrowanego słowa? Z góry dziękuję za pomoc.

program szyfra;
uses crt;
var
 e : integer;
 menu :char;
 n,m : byte;
 szyfron,liczba, b,c,polaczone : string;
begin
 n := 65;
 m := 90;
 REPEAT
 Writeln('a. Szyfrowanie.');
 Writeln('b. Deszyfrowanie.');
 Writeln('q. Koniec programu.');
 Readln(menu);
 Case menu of
		'a': Begin
             clrscr;
             Writeln('Podaj tekst do zaszyfrowania:');
             Readln(b);
             randomize;
             e := random(2000);
             szyfron := (Chr(Random(n-m+1)+m))+(Chr(Random(n-m+1)+m))+(Chr(Random(n-m+1)+m));
             Str(e,liczba);
             polaczone := liczba+szyfron;
             Writeln('Tekst w postaci zaszyfrowanej to: ', liczba+szyfron);
             Readln(liczba,szyfron);
             clrscr;
			 End;

		'b': Begin
             clrscr;
             Writeln('Podaj klucz do odszyfrowania:');
             Readln(c);
             if c = liczba+szyfron then Writeln('Zaszyfrowany tekst to: ',b) else Writeln('Bledny klucz!');
             Readln;
             clrscr;
		     End;
		Else 
			Begin 
			  {Alternatywny blok gdy nie znany znak}
			  {Ten blok else moze nie istniec}
			clrscr;
			If UpCase(menu) <> 'Q' Then 
			  Begin
				 WriteLn('Nie rozpoznany znak');
				 ReadLn;
                clrscr;
			  End;
			End;
		End;
	
	{Zakonczenie pentli REPEAT}
	Until (menu='q') or (menu='Q');
end.




{Var
 X:Byte;
 S:String;

Begin
  X:=48;
  Str(x,s);
  WriteLn(s);
End.
}
0

1.Formatowanie kodu.
2.

Until (menu='q') or (menu='Q');

Zbiory, zbiory, zbiory...
3.Funkcje, funkcje, funkcje...
4.

pentli

5.Gdzie w tym kodzie znajduje się jakiekolwiek deszfrowanie?

1

Ty sobie robisz jaja? Przecież ten kod NIC NIE SZYFRUJE! Wczytujesz sobie tekst do zmiennej 'b' a potem NIC Z NIĄ NIE ROBISZ. To co wypisujesz userowi to tylko i wyłącznie wyniki kilku randomów. Nie wiem jak chciałbyś to "odszyfrować"
że już nie wspomnę o tym że program działa tylko jak najpierw zaszyfrujesz a potem odszyfrujesz...
Po co napisałeś coś tak idiotycznego? Nie prościej zacząć od szyfrowania cezara na przykład?

0

Writeln('Podaj klucz do odszyfrowania:');
Readln(c);
if c = liczba+szyfron then Writeln('Zaszyfrowany tekst to: ',b) else Writeln('Bledny klucz!');

Genialny algorytm deszyfrujący, roftlol. Widać że ktoś kto zna się na programowaniu :D .

Jak dla mnie perełka.

0
Hydrant napisał(a)

Moje pytani brzmi dlaczego po podaniu wygenerowanego 'szyfru' program nie chce odszyfrowac zaszyfrowanego słowa?

Jeżeli cokolwiek szyfrujesz z wykorzystaniem generatora liczb pseudolosowych to jeśli w zaszyfrwanym słowie nie zamieścisz informacji o wylosowanej liczbie (w jakiejkolwiek postaci) to tego już nie ma możliwości odszyfrować...

Może najpierw napisz jaki efekt chciałeś uzyskać, a będzie można coś więcej napisać;


var
  {...}
  n,m : byte;
  {...}
begin
  n := 65;
  m := 90;

 {...}

Te zmienne możesz zamienić na stałe, bo i tak ich później nie modyfikujesz;

1 użytkowników online, w tym zalogowanych: 0, gości: 1