Symulator obsługi bankomatu

0

Cześć!

Na wstępnie tej wiadomości chciałbym uwzględnić fakt, że temat który założyłem dotyczy projektu, które piszę (w Pascalu) na Informatykę.

Mam problem z zachowaniem programu (prawdopodobnie problem semantyczny) w kodzie, dlatego potrzebuję pomocy!

Korzystam z Free Pascala.

Oto kod:

http://wklej.org/id/213383/

Problem polega na tym, że jak używam Menu (po raz drugi ... i kolejny), to chcąc otrzymać efekt jaki daje nam READKEY, muszę swój wybór potwierdzić 2-krotnym kliknięciem klawisza... W przypadku pierwszego uruchomienia pętli tak nie jest!!

Prawdopodobnie źle porozmieszczałem CLRSCR, dlatego tak się dzieję.

Proszę o pomoc w rozwiązaniu tego problemu. Zależy mi na efekcie "jednego kliknięcia".

Pozdrawiam.

0
Adam_FP napisał(a)

Problem polega na tym, że jak używam Menu (po raz drugi ... i kolejny), to chcąc otrzymać efekt jaki daje nam READKEY, muszę swój wybór potwierdzić 2-krotnym kliknięciem klawisza... W przypadku pierwszego uruchomienia pętli tak nie jest!!

hmm... rzucilem okiem i wydaje mi sie ze tu lezy blad:
w glownej petli wywolujesz na poczatku menu().
jesli wciesniete np. "1" to wplata.
wewnatrz wplata() znow wywolujesz menu() - tylko po to zeby je narysowac. ale pamietaj ze menu czeka na klawisz.
pod koniec glownej petli programu znow wywolujesz menu().

czyli na koncu dwa razy proszisz o klawisz.
jesli chcesz tylko "narysowac" menu, nie pytajac o klawisz to dodaj jeszcze jeden parametr:

PROCEDURE Menu(VAR x : CHAR; TylkoRysuj:boolean);
[...]
If not TylkoRysuj then
	x := READKEY;
[...]
END;

a teraz "kosmetyka":

  1. if wyp = 'c' ... a co jesli ktos mial wlaczony Capslock? wedy odczytasz 'C' zamiast 'c' i program nie zadziala wlasciwie [!!!]
  2. w zasadzie, to nie wiem po co ten pierwszy parametr, skoro za kazdym razem za "x" uzywasz globalnej zmiennej "wybor".
  3. w petli glownej masz zmienna "warunek" ktora decyduje o wyjsciu z programu... wystarczylo by zastapic petla repeat..until i dac "if wybor='4' then exit;

P.S. wreszcie czlowiek piszacy projekt, ktory ma wlasny kod a nie tylko tresc zadania ;]

0

Dzięki stary za pomoc i wartościowe sugestie.

Oto nowa wersja programu, udoskonaliłem, poprawiłem i dodałem zabezpieczenie PIN-em:

http://wklej.org/id/214084/

Zachęcam do komentowania :).

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