Odwrotna Notacja Polska,stos na klasach,problem

 
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Miaga
Nowy



Dołączył: 05 Sty 2013
Posty: 1
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysł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
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Wszystko o Turbo Pascalu Strona Główna -> Problemy Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Bluetab template design by FF8Jake of FFD
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin