Mam zrobić kalkulator liczący dodawanie, odejmowanie, mnożenie i dzielenie wykorzystując ONP. Szukałem gotowych programów, ale nie znalazłem żadnego działającego w Pascalu, albo jest w C, albo nie działa, albo nie wykorzystuje ONP. Jak napisałem w innym temacie ( http://4programmers.net/Forum/583641?f=1#id583641 ) znalazłem niby kod do Pascala, ale nie kompiluje się.
Próbowałem robić na ifach algorytm tworzenia ONP, ale coś jest nie tak jak program znajduje ')' i ma wrzucić na wyjście to co było na stosie aż do znaku'('.
program Project4;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,w,s : string;
i,j : integer;
begin
Writeln('Wpisz dzialanie: ');
Readln(a);
for i:=1 to length(a) do begin
if (40>ord(a[i])) or (ord(a[i])>47) and (ord(a[i])<>61) then
w:=w+a[i]
else
begin
if ord(a[i])=40 then
s:=s+a[i]
else if ord(a[i])=41 then
for j:=length(s) downto 0 do begin
w:=w+s[j];
end;
w:=w+')';
{else
begin
Writeln('Niepoprawne działanie');
Readln;
end;}
end;
end;
Writeln('Wyjscie: ',w,' ','Stos: ',s);
Readln;
end.
Pewnie to nie jest dobra metoda i nie wiem w końcu jak się za to złapać. Próbowałem też stworzyć stos, ale tego już w ogóle nie rozumiem... Proszę o pomoc i wskazówki.