witam,
mam mały problem odnośnie programu który napisałem.
Dostałem pracę domową mającą za zadanie z pliku dzialanie.txt
odczytywać działanie w postaci onp
np.
4
4
+
=
które w dalszej części programu ma je obliczać.
Zrobiłem coś takiego:
program zad_praca_domowa;
const MAX_S = 100; // definiuje rozmiar stosu
var
S : array[0..MAX_S-1] of double; // stos
p : integer; // wskačnik stosu
e : string; // element wyra_enia ONP
v1,v2 : double; // argumenty operacji
c : word; plik:text; // pozycja b_ŕdu przy konwersji
begin
assign(plik,'dzialanie.txt');
reset(plik);
readln(plik,e);
close(plik);
p := 0; // inicjujemy stos;
repeat // w pŕtli przetwarzamy wyra_enie ONP
readln(plik,e); // odczytujemy element wyra_enia ONP
if e = '=' then break;
val(e,v1,c); // dokonujemy konwersji
if c = 0 then
begin // liczba
S[p] := v1; // umieszczamy j_ na stosie
inc(p); // zwiŕkszamy wskačnik stosu
end
else
begin // operator
v1 := S[p-2]; // pobieramy ze stosu dwa argumenty
v2 := S[p-1];
case e[1] of // wykonujemy operacje wg operatora
'+' : v1 := v1 + v2;
'-' : v1 := v1 - v2;
'*' : v1 := v1 * v2;
'/' : v1 := v1 / v2;
end;
S[p-2] := v1; // wynik umieszczamy na stosie
dec(p); // ze stosu zniknŕ_a jedna liczba
end;
until false;
writeln(S[p-1]:0:6); // wypisujemy wynik ze szczytu stosu
readln;
end.
wszystko niby kompiluje się bez błędu, ale wcale nie działa.
Jak by ktoś mógł mi z tym pomóc/podpowiedzieć co jest źle.
Z góry dziękuje za każdą odpowiedz.
dodanie znacznika <code> dla zawartości pliku oraz znacznika `` - fp