Witam, zrobiłem zadanie pt. "Stos" i wyświetla mi błędną odpowiedź, a mam wrażenie że wszystko jest jak należy, chyba że błędem jest gdy wpisuje tam ostatnią liczbę którą mam dodać czyli mam napisać "+" i później "1" to po zaakceptowaniu "+" enterem wyświetla się ":(" przed wpisaniem "1". Ale mogę wpisać "+1"razem i wtedy się minka wyświetla po 1.
Nie wiem, czy to przez to i nie mam pomysłu jak to naprawić, miałem to samo napisane z tym że wybór był getchar(),
ale miałem błąd kompilacji, i przeczytałem gdzieś żeby usunąć bibliotekę conio.h.
Proszę o udzielenie wskazówki, z góry dziękuje za pomoc.
#include <iostream>
using namespace std;
int ile;
int *dane;
int rozmiar;
void push()
{
if(rozmiar>=ile)
cout<< ":("<<endl;
else
{
rozmiar= rozmiar+1;
cin>>dane[rozmiar];
cout<<":)"<<endl;
}
}
void pop()
{
if(rozmiar>0)
{
cout<< dane[rozmiar]<<endl;
rozmiar=rozmiar-1;
}
else
cout<<":("<<endl;
}
int main()
{
cin>> ile;
dane =new int [ile];
char wybor;
rozmiar=0;
while(wybor!=ile)
{
cin>>wybor;
switch(wybor)
{
case '+':
push();
break;
case '-':
pop();
break;
}
}
delete [] dane;
return 0;
}