Thread View: pl.comp.lang.pascal
9 messages
9 total messages
Started by Windziarz
Mon, 28 Dec 1998 17:12
Program-kalkulator
Author: Windziarz
Date: Mon, 28 Dec 1998 17:12
Date: Mon, 28 Dec 1998 17:12
18 lines
1196 bytes
1196 bytes
Czesc Musze napisac program ktory nasladuje dzialanie prawdziwego kalkulatora. Chodzi tutaj zeby mozna bylo wpisac liczbe (ograniczona do powiedzmy 4 cyfr) i zeby program reagowal na nacisniecie klawisza dzialania( np.+ , - ) pozwalajac wtedy na wpisanie drugiej (niekoniecznie ostatniej) liczby. Wiem ze musze napisac procedure ktora bedzie sprawdzac po kolei kazdy wprowadzony znak i sprawdzac czy jest on klawiszem_dzialania . Ale wlasnie cos mi w tym momencie nie chce wychodzic. Napiszcie prosze schemat takiej procedury. Jezeli trzeba to moge przeslac moje proby napisania takiego czego. Z gory dziekuje Windziarz
Re: Program-kalkulator
Author: Maciej "MACiAS" Pilichowski
Date: Mon, 28 Dec 1998 17:54
Date: Mon, 28 Dec 1998 17:54
17 lines
954 bytes
954 bytes
c:=readkey;
if c=#0 then
klawisz specjalny c:=readkey
else
if c in ['0'..'9'] then
mamy klawisz numeryczny
else
mamy cos innego
--
Maciej "MACiAS" Pilichowski
http://www.torun.pdi.net/~macias/ (+48) (0-56) 66-10-242
r e p l y ' e w s r o d y i n i e d z i e l e
Re: Program-kalkulator
Author: Marcin 'Qrczak' Kowalczyk
Date: Mon, 28 Dec 1998 20:01
Date: Mon, 28 Dec 1998 20:01
42 lines
2137 bytes
2137 bytes
On Mon, 28 Dec 1998, Maciej MACiAS Pilichowski wrote:
> c:=readkey;
> if c=#0 then
> klawisz specjalny c:=readkey
> else
> if c in ['0'..'9'] then
> mamy klawisz numeryczny
> else
> mamy cos innego
Proponuję raczej tak:
c := ReadKey;
case c of
#0 :
case ReadKey of
[...]
end;
'0'..'9' :
[...];
'+','-','*','/' :
[...];
'=' :
[...];
else
[...]
end;
Do Windziarza: zastanów się, jakie rzeczy muszą być pamiętane jako
"stan" kalkulatora. Pewnie liczba na wyświetlaczu. Poprzednie działanie
i poprzednia liczba (pierwszy argument działania). Fakt, czy ostatnio był
wciśnięty klawisz z cyfrą (i następna cyfra ma się dopisać do liczby)
czy np. z działaniem (i następna cyfra ma zacząć nową liczbę) - a może
jest jeszcze inny stan? Można to zorganizować różnie (zależnie od tego,
jak kalkulator ma się zachowywać).
--
__("< Marcin Kowalczyk * qrczak@knm.org.pl http://kki.net.pl/qrczak/
\__/ GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
Re: Program-kalkulator
Author: Tadeusz Drabarek
Date: Tue, 29 Dec 1998 07:57
Date: Tue, 29 Dec 1998 07:57
9 lines
1109 bytes
1109 bytes
Cześć. Kiedyś napisałem taki program. Był to dość rozbudowany kalkulator - obsługowany także myszką (ale też klaw. numerycznymi). Oczywiście w trybie tekstowym. Poszukam, może znajdę, a jak znajdę to Ci prześlę. Tadeusz e-mail: tadeuszd@promail.pl
Re: Program-kalkulator
Author: LIAR
Date: Tue, 29 Dec 1998 16:39
Date: Tue, 29 Dec 1998 16:39
41 lines
1863 bytes
1863 bytes
Nie wiem czy to w ogóle moze sie Tobie do czegos przydac ale...
program k;
var
L1, L2, Wynik : real;
Dzialanie , C : char;
Blad : Boolean;
begin
write('Podaj pierwsza liczbe: ');
readln(L1);
write('Rodzaj dzialania (+ - * /):');
readln(Dzialanie);
write('Podaj druga liczbe: ');
readln(L2);
Blad:=false;
case Dzialanie of
'+' : Wynik:=L1+L2;
'-' : Wynik:=L1-L2;
'*' : Wynik:=L1*L2;
'/' : if L2 <> 0 then
Wynik:=L1/L2
else Blad:=true;
else
Blad:=true
end;
if not Blad then
writeln(L1,' ',Dzialanie,L2,' = ',Wynik)
else
writeln('Pamietaj cholero nie dziel przez zero.');
readln
end.
Program nie jest mój tylko kolegi.
--------------------------
LIAR
mailto: liar@friko.onet.pl
... jest w porzadku, to ludzie sa trefni.
Re: Program-kalkulator
Author: Jacek Popławski
Date: Wed, 30 Dec 1998 01:43
Date: Wed, 30 Dec 1998 01:43
25 lines
1980 bytes
1980 bytes
Windziarz wrote: >Chodzi tutaj zeby mozna bylo wpisac liczbe (ograniczona do powiedzmy 4 >cyfr) >i zeby program reagowal na nacisniecie klawisza dzialania( np.+ , - ) >pozwalajac wtedy na >wpisanie drugiej (niekoniecznie ostatniej) liczby. >Wiem ze musze napisac procedure ktora bedzie sprawdzac po kolei kazdy >wprowadzony >znak i sprawdzac czy jest on klawiszem_dzialania . Ale wlasnie >cos mi w tym momencie nie chce wychodzic. Wczytujesz jakiś klawisz, następnie sprawdzasz czy jest to cyfra, tak długo jak jest - piszesz ją na wyświetlaczu, w momencie, gdy użytkownik naciśnie jakiś klawisz z działaniem - zaczynasz wprowadzać drugą liczbę, gdy użytkownik wprowadzi nie-cyfrę - na wyświetlaczu dajesz wynik, a następnie (jeżeli ostatnie nie było '=') wprowadzasz trzecią liczbę i tak w nieskończoność najprościej podzielić sobie klawisze na cyfry i znaki działań przy wczytywaniu od razu możesz sprawdzić do którego zbioru należy dany znak >Napiszcie prosze schemat takiej procedury. Jezeli trzeba to moge >przeslac moje proby napisania takiego czego. jeżeli nadal coś ci nie wychodzi - rzuć główną procedurę na grupę
Re: Program-kalkulator
Author: Jarek Kucypera
Date: Wed, 30 Dec 1998 13:27
Date: Wed, 30 Dec 1998 13:27
20 lines
1277 bytes
1277 bytes
Windziarz napisa³(a) w wiadomoci: <3687BBF3.54D70BAF@polbox.com>... >Czesc > >Musze napisac program ktory nasladuje dzialanie prawdziwego kalkulatora. > >Chodzi tutaj zeby mozna bylo wpisac liczbe (ograniczona do powiedzmy 4 >cyfr) >Napiszcie prosze schemat takiej procedury. Jezeli trzeba to moge Spróbuj pomyslec a tym kalkulatorze jak o automacie, który znajduje sie w róznych stanach, na zdarzenia reaguje okreslona akcja i przejsciem z jednego do drugiego stanu. Jak juz sobie rozpiszesz wszystkie stany, zdarzenia, akcje i przejscia to zaprogramowanie tego bedzie latwe. J.K.
Re: Program-kalkulator
Author: Buczo
Date: Sat, 02 Jan 1999 19:40
Date: Sat, 02 Jan 1999 19:40
20 lines
1295 bytes
1295 bytes
Maciej "MACiAS" spłodził:
>c:=readkey;
>if c=#0 then
{ ^^^^ co to jest/robi/sprawdza?}
> klawisz specjalny c:=readkey
>else
> if c in ['0'..'9'] then
> mamy klawisz numeryczny
> else
> mamy cos innego
TIA!
-- /\__/\
hoping ... Buczo / \ / \
\'/ \'/
Tomek Wojciak / \/ | \
buczo@leda.3lo.lublin.spamtrap.pl | | \
UIN 7404189 | \__\
_________________________________________\_ __ /_____
`` ``
Re: Program-kalkulator
Author: Marcin 'Qrczak' Kowalczyk
Date: Mon, 04 Jan 1999 18:11
Date: Mon, 04 Jan 1999 18:11
19 lines
1672 bytes
1672 bytes
On Sat, 2 Jan 1999, Buczo wrote:
> >c:=readkey;
> >if c=#0 then
> { ^^^^ co to jest/robi/sprawdza?}
Poczytaj Helpa od ReadKey, powinno być opisane.
(Niektóre klawisze są zwracane jako #0 + inny kod przy następnym ReadKey.)
(To jest zaimplementowane w samym ReadKey, które korzysta z przerwania 16h
zwracającego kod klawisza jako jedno słowo. Niezależnie od tego taki sam
mechanizm jest w DOSowych funkcjach czytających klawiaturę.)
--
__("< Marcin Kowalczyk * qrczak@knm.org.pl http://kki.net.pl/qrczak/
\__/ GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads