Pragnę dodać że ten kalkulator jest dla mnie nauką pisania czystego kodu, a bynajmniej czystego na moim etapie nauki
To Cię absolutnie nie usprawiedliwia od używania instrukcji goto! Szczerze mówiąc, to na tym etapie nauki powinieneś tej instrukcji w ogóle nie poznawać. Sposób, w jaki jej używasz jest karygodny. Mam tylko nadzieję, że jak już poznasz funkcje, to zapomnisz na zawsze o goto, a jak już będziesz zaawansowany, to byćmoze nauczysz się z niej korzystać ;-)
Ale nie tego dotyczyło pytanie... aby sprawdzić czy wczytanie się udało możemy zrobić tak:
do
{
cin.clear(); // Usuwanie flag błęgów.
cin.sync(); // Czyszczenie strumienia.
cin >> a;
} while( !cin.good() );
Pętla będzie się powtarzać dopóki wczytywanie będzie nieudane.
Myślę, że to powinno pomóc.
Moja rada. Ucz się funkcji jak najszybciej! Im szybciej zapomnisz o goto, tym lepiej.