turbo pascal problem z kodowaniem hasła.

gladiatus2

Użytkownik
Dołączył
Czerwiec 26, 2012
Posty
5
turbo pascal problem z kodowaniem hasła(Gwiazdki).

Witam napisałem sobie program,ale nie potrafię zrobić by hasło było kodowane * .I jak chce skasować jedna cyfrę/literę to gwiazdka jedna znika np. pisze 123 zapisze to tak: *** a kiedy skasuje jedno to będzie 12 a zapisane ** jak złe hasło to powtarza podaj hasło do puki nie poda poprawnego. Mój Kod
Kod:
 USES CRT; {moduˆ}

VAR {Zmiene}
 haslo:longint; {zmiena do hasˆa}
 wybor:char; {zmiena do gˆ˘wnego wyboru}
 imie:string; {zmiena do procedury powitanie}
 a,liczba:longint; {zmiene do procedury wykaz}
 c:char; {zmiena do procedury wykaz}
 b:text; {zmiena do procedury wykaz}
 e1,e2:integer; {zmiene do procedur: kalkulator,mnoz,dziel,dodaj,odejmij}
 decyzja:char; {zmiena do procedury kalkulator}
 t:text; {zmiena do procedury zapisz}
 s:string; {zmiena do procedury zapisz}
 q:char; {zmiena do procedury tabliczka mnozenia}
 z,x:longint; {zmiene do procedury tabliczka mnozenia do 100}

PROCEDURE muzyka; {Pierwsza procedura}
 BEGIN
  clrscr;
  sound(2200);
  delay(5000);
  nosound;
 END;

PROCEDURE powitanie; {Druga procedura}
 BEGIN
  clrscr;
  writeln('Jak masz na imi©?');
  read(imie);
  write('Witaj ');
  write(imie);
  writeln(' ˝ycze miˆego dnia!!!');
  readln;
  readln;
 END;

PROCEDURE wyjscie; {Trzecia procedura}
 BEGIN
  halt;
 END;

PROCEDURE wykaz; {Czwarta procedura}
 BEGIN
  clrscr;
  writeln;
  writeln;
  writeln('program tworzy plik tekstowy z wykazem liczb!');
  writeln;
  writeln('ile liczb mam wypisa† w pliku wykaz.txt na gˆ˘wnym katalogu dysku C?');
  read(a);
  writeln;
  writeln('Czy na pewno mam wypisa† ',a,' liczb? [T/N]');
  c:=readkey;
  IF (c='n') OR (c='N') THEN halt;
  IF (c='t') OR (c='T') THEN
   BEGIN
    liczba:=1;
    Assign(b, 'C:/wykaz.txt');
    rewrite(b);
    writeln(b,'');
    writeln(b,' Wykaz liczb:');
    writeln;
    REPEAT
     writeln(b,liczba);
     liczba:=liczba+1;
    UNTIL liczba=a+1;
    close(b);
    writeln;
    writeln('Zakoäczono tworzenie pliku wykaz!');
    readln;
    readln;
   END;
 END;

PROCEDURE dziel; {procedura do kalkulator}
 BEGIN
  writeln(e1,':',e2,'=',e1/e2);
  readln;
 END;

PROCEDURE mnoz; {prodecura do kalkulator 2}
 BEGIN
  writeln(e1,'*',e2,'=',e1*e2);
  readln;
 END;

PROCEDURE dodaj; {procedura do kalkulator 3}
 BEGIN
  writeln(e1,'+',e2,'=',e1+e2);
  readln;
 END;

PROCEDURE odejmij; {procedura do kalkulator 4}
 BEGIN
  writeln(e1,'-',e2,'=',e1-e2);
  readln;
 END;

PROCEDURE kalkulator; {piĄta procedura}
 BEGIN
  clrscr;
  writeln('Podaj 1 liczb©');
  readln(e1);
  writeln('Podaj 2 liczb©');
  readln(e2);
  writeln('Co chcesz zrobi†?');
  writeln('1-dzielenie');
  writeln('2-dodawanie');
  writeln('3-mnoľenie');
  writeln('4-odejmowanie');
  decyzja:=readkey;
  IF decyzja='1' THEN dziel;
  IF decyzja='2' THEN dodaj;
  IF decyzja='3' THEN mnoz;
  IF decyzja='4' THEN odejmij;
 END;

PROCEDURE zapisz; {procedura sz˘sta}
 BEGIN
  clrscr;
  writeln('Wpisz dowolny tekst a nast©pnie Enter');
  read(s);
  assign(t,'C:/plik1.txt');
  rewrite(t);
  writeln(t,s);
  Close(t);
  writeln('Plik zostal pomy˜lnie zapisany');
  readln;
  readln;
 END;

PROCEDURE tabliczka_mnozenia_do_100; {Procedura procedury tabliczka_mn...}
 BEGIN
  clrscr;
  writeln(' A oto tabliczka mnoľenia');
  z:=0;
  REPEAT
   z:=z+1;
   x:=0;
   REPEAT
    x:=x+1;
    writeln(z,'*',x,'=',z*x);
    delay(500);
    UNTIL x=10;
   UNTIL z=10;
  readln;
  END;

PROCEDURE tabliczka_mnozenia; {Procedura si˘dma}
 BEGIN
  clrscr;
  writeln('Wybierz tabliczke mnoľenia:');
  writeln('1 tabliczka mnoľenia do 100');
  q:=readkey;
  IF q='1' THEN tabliczka_mnozenia_do_100;
 END;

BEGIN {poczĄtek programu}
 REPEAT {p©tla do hasˆa}
  clrscr;
  writeln('Podaj hasˆo by otrzyma† dost©p do programu');
  read(haslo);
 UNTIL haslo=28031999;
 clrscr;
 writeln('Otrzymujesz dost©p do programu');
 readln;
 writeln('Oto lista dost©pnych komend:');
 writeln('Wybierz liczb© by uruchomi†: ');
 writeln('1 dla melodi');
 writeln('2 dla powitania');
 writeln('3 by stworzy† wykaz liczb');
 writeln('4 by wˆonczy† kalkulator');
 writeln('5 by zapisa† plik tekstowy z wˆasnym tekstem');
 writeln('6 aby wˆonczy† tabliczk© mnoľenia');
 writeln('7 exit the program');
 wybor:=readkey;
 IF wybor='1' THEN muzyka;
 IF wybor='2' THEN powitanie;
 IF wybor='3' THEN wykaz;
 IF wybor='4' THEN kalkulator;
 IF wybor='5' THEN zapisz;
 IF wybor='6' THEN tabliczka_mnozenia;
 IF wybor='7' THEN wyjscie;
END. {koniec programu}
Kod jest opisany Proszę by ktoś mi kod przerobił lub dał przykład jak to zrobić. Z góry dziękuje
 
Ostatnia edycja:

Vandervir

Były Administrator
Dołączył
Grudzień 19, 2005
Posty
474
Po pobraniu znaku wypisuj w znak backspace i gwizdkę :)
 

gladiatus2

Użytkownik
Dołączył
Czerwiec 26, 2012
Posty
5
Może przykład bo ja dopiero się uczę i za bardzo nie rozumiem o co chodzi.Bardzo bym prosił :)
 
Ostatnia edycja:
Do góry Bottom