Validarea input-ului

Validarea input-ului previne comportamentul nedefinit și îmbunătățește experiența utilizatorului.

int nota;
cout << "Introdu nota (1-10): ";
while (!(cin >> nota) || nota < 1 || nota > 10) {
  cin.clear();                 // resetează starea de eroare
  cin.ignore(10000, '\n');    // golește buffer-ul
  cout << "Nota invalida! Reintrodu (1-10): ";
}
cout << "Nota valida: " << nota << endl;

Verificare tip de date

string input;
cin >> input;
bool esteNumar = true;
for (char c : input) {
  if (!isdigit(c)) { esteNumar = false; break; }
}
if (esteNumar) cout << "Este un numar: " << stoi(input) << endl;
else cout << "Nu este un numar!" << endl;