@bombardello zastanów się dokładnie co robisz np tutaj:
cin >> a;
switch (a)
{
case'+':
{
cin >> dane[rozmiar];
rozmiar++;
cout << ":)" << endl;
if (rozmiar == 9)cout << ":(" << endl;
break;
}
Załóżmy, że próba dodania elementu się nie uda to czemu rozmiar jest zmieniany i zostaną wypisane również ‘:)’? Zastanów się jak uniknąć próby odczytania pamięci poza tablicą. Włącz ostrzeżenia kompilatora, lub/i czytaj je - pomogą znaleźć banalne błędy:
prog.cc:38:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
}while(a=100);
~^~~~
prog.cc:38:10: note: place parentheses around the assignment to silence this warning
}while(a=100);
^
( )
prog.cc:38:10: note: use '==' to turn this assignment into an equality comparison
}while(a=100);
^
==