Ładny brzuch
Mam na dzis na 9 rano oddac ten program na zaliczenie studium, ale w zaden sposb nie moge podczy tych 3 rzeczy to jest:
- eby zamiast cyferek w pinie byy wywietlane gwiazdki,
- eby po informacji o banku program sprawdzal czy jest wlozona dyskietka do stacji a nastepnie dopiero puszczal do pisania pinu,
- i trzeci problem to niewiem gdzie podpia te banknoty aby byy drukowane.
Jak by kto by tak miy i pomg mi w dokonczeniu tej pracy to bym bya wdzieczna. Dzikuje poniej przedstawiam kod programu.
program Bankomat; uses crt, printer, dos; label poczatek; const dysk=''; type rec=record pin:word; stan:real; end; pl=file of rec; var R:rec; sp,k,kw:word; plik:pl; i,p,a,s,w:real; m,c:real; z:word; function HASLO:word; var h:word; begin reset(plik); read(plik,R); h:=R.pin; close(plik); haslo:=h; end; function menu:string; begin ClrScr; window(30,10,70,20); writeln('1. Wypata.'); writeln('2. Przelew na karte.'); writeln('3. Zasilenie karty SIM.'); writeln('4. Dostpne rodki.'); writeln('5. Zmiana PIN.'); writeln('6. Wyjcie.'); writeln(); write('Wybierz opcje: '); readln(m); clrscr; end; function wyplata:string; begin ClrScr; writeln('1. Wypata 50 PLN'); writeln('2. Wypata 100 PLN'); writeln('3. Wypata 150 PLN'); writeln('4. Wypata 200 PLN'); writeln('5. Wypata 250 PLN'); writeln('6. Inna kwota do wypaty'); writeln(); write('Wybierz opcje: '); readln(a); if (a=1) then k:=50; if (a=2) then k:=100; if (a=3) then k:=150; if (a=4) then k:=200; if (a=5) then k:=250; if (a=6) then begin clrscr; writeln('Podaj kwote: '); readln(k); kw:=k mod 10; if kw<>0 then begin write('Kwota nie jest wielokrotnoci 10 z'); readln; goto poczatek; end else reset(plik); read(plik,R); if k<R.stan then begin R.stan:=R.stan-k; seek(plik,0); write(plik,R); writeln('Operacja wykonana'); readln; goto poczatek; end; end; reset(plik); read(plik,R); if k<R.stan then begin R.stan:=R.stan-k; seek(plik,0); write(plik,R); ClrScr; writeln('Operacja wykonana'); readln; goto poczatek; end else begin writeln('Brak wystarczajcej iloci rodkw.'); end; close(plik); readln; goto poczatek; end; { ClrScr; if (a=1) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| ----- ----- |'); writeln(lst,'| | | | |'); writeln(lst,'| | | | |'); writeln(lst,'| ----- | | |'); writeln(lst,'| | | | |'); writeln(lst,'| | | | |'); writeln(lst,'| ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=2) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| /| ----- ----- |'); writeln(lst,'| / | | | | | |'); writeln(lst,'| / | | | | | |'); writeln(lst,'| / | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=3) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| /| ----- ----- |'); writeln(lst,'| / | | | | |'); writeln(lst,'| / | | | | |'); writeln(lst,'| / | ----- | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| | ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=4) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| ----- | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=5) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| | | | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| ----- ----- | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=6) then writeln('Podaj kwote: '); readln; writeln('Brak banknotw do wypaty '); writeln('takiej sumy pienidzy.'); readln; // goto poczatek; end;} function przelew:string; var nr:string; kwota:real; begin repeat ClrScr; Writeln('Podaj numer karty na ktr'); writeln('nastpi przelew..'); readln(nr); writeln('Podaj kwot przelewu:'); {$I-} readln(kwota); {$I+} until IOResult=0; reset(plik); read(plik,R); if kwota<R.stan then begin R.stan:=R.stan-kwota; seek(plik,0); write(plik,R); writeln('Operacja wykonana'); readln; end else begin writeln('Brak wystarczajcej iloci rodkw.'); readln; end; close(plik); goto poczatek; end; function srodki:string; begin ClrScr; reset(plik); read(plik,R); writeln('Stan twojego konta wynosi:',R.stan:10:2,' z'); close(plik); readln; goto poczatek; end; function sim:string; var nr:string; kwota:real; begin repeat ClrScr; Writeln('Podaj numer telefonu do zasilenia:'); write('+48'); readln(nr); write('Podaj kwote zasilenia:'); {$I-} readln(kwota); {$I+} until IOResult=0; reset(plik); read(plik,R); if kwota<R.stan then begin R.stan:=R.stan-kwota; seek(plik,0); write(plik,R); writeln('Konto zasilone'); readln; end else begin writeln('Brak wystarczajcej iloci rodkw '); readln; end; close(plik); goto poczatek; end; function zmia:string; var stpin,nowypin,nowypin2:word; begin ClrScr; reset(plik); read(plik,R); stpin:=R.pin; writeln('Podaj PIN:'); readln(p); if p=stpin then begin write('podaj nowy PIN '); readln(nowypin); write('powt˘rz nowy PIN '); readln(nowypin2); if nowypin=nowypin2 then begin R.pin:=nowypin; seek(plik,0); write(plik,R); end; end; close(plik); readln; goto poczatek; end; {function gwiazdki:string; var pin:string[8]; znak:char; begin pin:=''; repeat znak:=readkey; if (znak <> #13) then if (znak <> #8) then begin write ('*'); pin:=pin+znak; end else if pin[0]>chr(0) then begin gotoXY (whereX-1, whereY); clreol; dec(pin[0]); end until znak=#13; gwiazdki:=pin; end; } function zly:string; begin clrscr; writeln('Podae zy PIN.'); writeln('Sprubj jeszcze raz.'); readln(); goto poczatek; end; function intro:boolean; begin writeln(' BANKOMAT '); writeln(); writeln('BANKU AGNIESZKI '); writeln(); writeln(); writeln(); writeln(' w karte i'); writeln(' nacinij enter'); readln; end; //function ist:boolean; // var f:SearchRec; // begin // findfirst('a:\zab.dat',anyfile,f); //if DosError<>0 then { repeat assign(oko,'a:\zab.dat'); reset(oko); if IOResult<>0 then writeln(intro); until IOResult=0; goto poczatek; end;} //function ist:boolean; // var // nazwa:string; // begin // ClrScr; // nazwa:=FSearch(nazwa,'a:\karta.dat'); // if nazwa=dysk then goto poczatek else intro; // end; begin ClrScr; assign(plik,'A:\karta.dat'); window(35,10,70,25); writeln(intro); // writeln(ist); poczatek:ClrScr; writeln('Podaj PIN: '); read(z); if z=haslo then writeln(menu) else writeln(zly); if (m=1) then writeln(wyplata); if (m=2) then writeln(przelew); if (m=3) then writeln(sim); if (m=4) then writeln(srodki); if (m=5) then writeln(zmia); if (m=6) then exit; end.
Dostaam jeszcze termin do rody wic jak by kto mi mg naprawde pomuc Dzikuje.
Uytkownik ada6666 edytowa ten post 18 czerwiec 2005, 17:15
Problem gwiazdek:
program gwiazki; uses crt; var pin : string; znak : char; begin pin := ''; while(znak <> char(13)) do begin znak := ReadKey; if znak <> char(13) then begin Write('*'); pin := Concat(pin, znak); end; end; Writeln; Writeln(pin); end.
Nad reszta pracuje ;)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
- eby zamiast cyferek w pinie byy wywietlane gwiazdki,
- eby po informacji o banku program sprawdzal czy jest wlozona dyskietka do stacji a nastepnie dopiero puszczal do pisania pinu,
- i trzeci problem to niewiem gdzie podpia te banknoty aby byy drukowane.
Jak by kto by tak miy i pomg mi w dokonczeniu tej pracy to bym bya wdzieczna. Dzikuje poniej przedstawiam kod programu.
program Bankomat; uses crt, printer, dos; label poczatek; const dysk=''; type rec=record pin:word; stan:real; end; pl=file of rec; var R:rec; sp,k,kw:word; plik:pl; i,p,a,s,w:real; m,c:real; z:word; function HASLO:word; var h:word; begin reset(plik); read(plik,R); h:=R.pin; close(plik); haslo:=h; end; function menu:string; begin ClrScr; window(30,10,70,20); writeln('1. Wypata.'); writeln('2. Przelew na karte.'); writeln('3. Zasilenie karty SIM.'); writeln('4. Dostpne rodki.'); writeln('5. Zmiana PIN.'); writeln('6. Wyjcie.'); writeln(); write('Wybierz opcje: '); readln(m); clrscr; end; function wyplata:string; begin ClrScr; writeln('1. Wypata 50 PLN'); writeln('2. Wypata 100 PLN'); writeln('3. Wypata 150 PLN'); writeln('4. Wypata 200 PLN'); writeln('5. Wypata 250 PLN'); writeln('6. Inna kwota do wypaty'); writeln(); write('Wybierz opcje: '); readln(a); if (a=1) then k:=50; if (a=2) then k:=100; if (a=3) then k:=150; if (a=4) then k:=200; if (a=5) then k:=250; if (a=6) then begin clrscr; writeln('Podaj kwote: '); readln(k); kw:=k mod 10; if kw<>0 then begin write('Kwota nie jest wielokrotnoci 10 z'); readln; goto poczatek; end else reset(plik); read(plik,R); if k<R.stan then begin R.stan:=R.stan-k; seek(plik,0); write(plik,R); writeln('Operacja wykonana'); readln; goto poczatek; end; end; reset(plik); read(plik,R); if k<R.stan then begin R.stan:=R.stan-k; seek(plik,0); write(plik,R); ClrScr; writeln('Operacja wykonana'); readln; goto poczatek; end else begin writeln('Brak wystarczajcej iloci rodkw.'); end; close(plik); readln; goto poczatek; end; { ClrScr; if (a=1) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| ----- ----- |'); writeln(lst,'| | | | |'); writeln(lst,'| | | | |'); writeln(lst,'| ----- | | |'); writeln(lst,'| | | | |'); writeln(lst,'| | | | |'); writeln(lst,'| ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=2) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| /| ----- ----- |'); writeln(lst,'| / | | | | | |'); writeln(lst,'| / | | | | | |'); writeln(lst,'| / | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=3) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| /| ----- ----- |'); writeln(lst,'| / | | | | |'); writeln(lst,'| / | | | | |'); writeln(lst,'| / | ----- | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| | ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=4) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| ----- | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| | | | | | |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=5) then begin writeln(lst,' --------------------------------------- '); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| | | | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| ----- ----- | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| | | | | |'); writeln(lst,'| ----- ----- ----- |'); writeln(lst,'| |'); writeln(lst,'| |'); writeln(lst,' --------------------------------------- '); end; if (a=6) then writeln('Podaj kwote: '); readln; writeln('Brak banknotw do wypaty '); writeln('takiej sumy pienidzy.'); readln; // goto poczatek; end;} function przelew:string; var nr:string; kwota:real; begin repeat ClrScr; Writeln('Podaj numer karty na ktr'); writeln('nastpi przelew..'); readln(nr); writeln('Podaj kwot przelewu:'); {$I-} readln(kwota); {$I+} until IOResult=0; reset(plik); read(plik,R); if kwota<R.stan then begin R.stan:=R.stan-kwota; seek(plik,0); write(plik,R); writeln('Operacja wykonana'); readln; end else begin writeln('Brak wystarczajcej iloci rodkw.'); readln; end; close(plik); goto poczatek; end; function srodki:string; begin ClrScr; reset(plik); read(plik,R); writeln('Stan twojego konta wynosi:',R.stan:10:2,' z'); close(plik); readln; goto poczatek; end; function sim:string; var nr:string; kwota:real; begin repeat ClrScr; Writeln('Podaj numer telefonu do zasilenia:'); write('+48'); readln(nr); write('Podaj kwote zasilenia:'); {$I-} readln(kwota); {$I+} until IOResult=0; reset(plik); read(plik,R); if kwota<R.stan then begin R.stan:=R.stan-kwota; seek(plik,0); write(plik,R); writeln('Konto zasilone'); readln; end else begin writeln('Brak wystarczajcej iloci rodkw '); readln; end; close(plik); goto poczatek; end; function zmia:string; var stpin,nowypin,nowypin2:word; begin ClrScr; reset(plik); read(plik,R); stpin:=R.pin; writeln('Podaj PIN:'); readln(p); if p=stpin then begin write('podaj nowy PIN '); readln(nowypin); write('powt˘rz nowy PIN '); readln(nowypin2); if nowypin=nowypin2 then begin R.pin:=nowypin; seek(plik,0); write(plik,R); end; end; close(plik); readln; goto poczatek; end; {function gwiazdki:string; var pin:string[8]; znak:char; begin pin:=''; repeat znak:=readkey; if (znak <> #13) then if (znak <> #8) then begin write ('*'); pin:=pin+znak; end else if pin[0]>chr(0) then begin gotoXY (whereX-1, whereY); clreol; dec(pin[0]); end until znak=#13; gwiazdki:=pin; end; } function zly:string; begin clrscr; writeln('Podae zy PIN.'); writeln('Sprubj jeszcze raz.'); readln(); goto poczatek; end; function intro:boolean; begin writeln(' BANKOMAT '); writeln(); writeln('BANKU AGNIESZKI '); writeln(); writeln(); writeln(); writeln(' w karte i'); writeln(' nacinij enter'); readln; end; //function ist:boolean; // var f:SearchRec; // begin // findfirst('a:\zab.dat',anyfile,f); //if DosError<>0 then { repeat assign(oko,'a:\zab.dat'); reset(oko); if IOResult<>0 then writeln(intro); until IOResult=0; goto poczatek; end;} //function ist:boolean; // var // nazwa:string; // begin // ClrScr; // nazwa:=FSearch(nazwa,'a:\karta.dat'); // if nazwa=dysk then goto poczatek else intro; // end; begin ClrScr; assign(plik,'A:\karta.dat'); window(35,10,70,25); writeln(intro); // writeln(ist); poczatek:ClrScr; writeln('Podaj PIN: '); read(z); if z=haslo then writeln(menu) else writeln(zly); if (m=1) then writeln(wyplata); if (m=2) then writeln(przelew); if (m=3) then writeln(sim); if (m=4) then writeln(srodki); if (m=5) then writeln(zmia); if (m=6) then exit; end.
Dostaam jeszcze termin do rody wic jak by kto mi mg naprawde pomuc Dzikuje.
Uytkownik ada6666 edytowa ten post 18 czerwiec 2005, 17:15
Problem gwiazdek:
program gwiazki; uses crt; var pin : string; znak : char; begin pin := ''; while(znak <> char(13)) do begin znak := ReadKey; if znak <> char(13) then begin Write('*'); pin := Concat(pin, znak); end; end; Writeln; Writeln(pin); end.
Nad reszta pracuje ;)