Miaga
Nowy
Dołączył: 05 Sty 2013
Posty: 1
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Sob 21:01, 05 Sty 2013 Temat postu: Odwrotna Notacja Polska,stos na klasach,problem |
|
|
Witam, mam do napisania taki program:
Stos na klasach (wierzchołek ST typu PStos, PStos=^TStos;)
Operacje:
a)Wkładanie na stos,zdejmowanie ze stosu
b)dodawanie,odejmowanie, mnożenie i dzielenie liczb z wierzchołka stosu: np function dodaj(a,b: Double): double.
W programie głównym wykonać ciąg operacji z godnie z zasadą odwrotenj notacji polskiej.
I jak do tej pory udało mi się zrobić tyle: Pascal:
Kod: | program project1;
uses crt;
type
TDane = string[40];
type
PStos = ^TStos;
TStos = record
Dane:TDane;
Nastepny:PStos;
end;
TLista = PStos;
var
Pocz:PStos;
wyb:char;
n:TDane;
procedure DodajS(var Lista:TLista; const D :TDane);
var
w :PStos;
begin
w := Lista;
new(Lista);
Lista^.Dane := D;
Lista^.Nastepny := w;
end;
procedure usun(var Lista:TLista);
var
w :PStos;
begin
w := Lista^.Nastepny;
dispose(Lista);
Lista := w;
end;
procedure wypisz(Lista:TLista);
var
w :PStos;
begin
w := Lista;
while w <> nil do
begin
writeln(w^.Dane);
w := w^.Nastepny;
end;
end;
begin
repeat
clrscr;
writeln('d - dodaj do stosu');
writeln('u - usun element ze stosu ');
writeln('w - wypisz stos');
writeln('q - koniec');
wyb:=readkey;
case wyb of
'd': begin write('Podaj wartosc: '); readln (n); DodajS(Pocz ,n); end;
'u': begin usun(Pocz);write('Usunieto element z gory');end;
'w': begin wypisz(Pocz); wyb:=readkey; end;
end;
until wyb='q';
end. |
Problem w tym że nie wiem jak przy wpisywaniu wartości string zrobić żeby mi rozróżniało znaki, cyfry oraz kolejność wykonywania zadań.
Z góry dziękuje za pomoc
Powrót do góry
Wyświetl posty
Post został pochwalony 0 razy
|
|