Program dla kalkulator nie kompiluje się.. (stos)

0
#include<string>
#include<iostream>
#include<sstream>
#include <CString>
#include <cstdlib>

										

using namespace std;

typedef struct stos    
{

	public:
	struct stos	*next=NULL;
	int liczba;
		
}wsk;

wsk *first;
wsk *last;
void dodaj_do_stosu (wsk *lista, int wartosc)
{
	wsk *wskaznik, *nowy;
	wskaznik = lista;
	while (wskaznik->next != NULL) 
	{
		wskaznik = wskaznik->next; 
	}
	nowy = new (wsk); 
	nowy->liczba = wartosc; 
	nowy->next = NULL; 
	wskaznik->next = nowy; 
	last=wskaznik->next;
}




int main()
{	
	int lb;
	int el;
	first==NULL;
	last == NULL;
	string wyrazenie;                     
	int size				;							
	cout<<"wpisz działanie:/n"<<endl;
	cin>>wyrazenie;
	size=wyrazenie.length();              
	
	
        stringstream s;
        
        s <<wyrazenie[0];
        s >> lb;
	

	
	
	dodaj_do_stosu(first, lb);
	

	
	
	int i=0;

	for(i=1;i<size;i+2)
	{
		
		if(wyrazenie[i]=='+')   
		
		{
		
			s <<wyrazenie[i+1];
       		s >> lb;
			
			
			dodaj_do_stosu(first, lb);
					}
		else if(wyrazenie[i]=='-')
		{
			s <<wyrazenie[i+1];
       		s >> lb;
			lb=-lb;
			        //dla znaku - zapisuje ujemna wartosc nastepnej liczby w stringu
			dodaj_do_stosu(first,lb);
		}
		else 
		{   
			s <<wyrazenie[i+1];
       		s >> lb;
			if(wyrazenie[i]=='/') lb=last->liczba/el;    
			else if(wyrazenie[i]=='%') lb=last->liczba%el;
			else if(wyrazenie [i]=='*') lb=last->liczba*el;
			dodaj_do_stosu(last,lb);
		}
	}
	int suma=0;
	while(first->next==NULL) 
	{
		suma=suma+first->liczba;
		first=first->next;
		
	} //petla ddaje dopoki sa elementy na stosie
	cout<<"wynik dzialania to: "<<suma<<endl;
	return 0;
} 

Oto mój kod kalkulatora, czy mógł by ktoś na niego zerknąć i zobaczyć dlaczego mam z nim problem... przy kompilacji po wpisaniu wyrażenia zamyka automatycznie program...

0

Powoli, powoli: najpierw podziel ten kod na część zajmującą się obsługą stosu (jedna klasa), część związaną z budowaniem ONP (druga klasa) oraz część liczącą ONP (trzecia klasa).

0

Taki bardzo stary kalkulator (napisany jeszcze przed c++98) wraz z uwagami (też wtedy spisanymi) można sobie pobrać, zanalizować i do swoich rzeczy zastosować: http://kaczus.republika.pl/izv/parser.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1