Bonjour,

je dois faire un code qui demande à l'utilisateur d'entrer un entier plus grand ou égal à zéro, tout en gérant les éventuelles erreurs.

Je ne sais pas comment faire ma fonction, pouvez-vous m'aider?

le bout de code que je viens de faire est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
int Surface_M2 = 0;
 
do {
    cout << "Entrez la surface a convertir <entier en m2> > ";
    if(!(cin >> Surface_M2)) {
        cout << "Erreur de saisie. Svpl, veuillez recommencer." << endl;
        cin.clear();
        cin.get();
    }
}
while(Surface_M2 < 0);
Malheureusement ce code ne fonctionne pas car quand je rentre -1-1, il ne vide pas le buffer cin et m'affiche deux fois la demande de saisie. Est-ce que je dois utiliser un unsigned int directement?

Est-ce que mon utilisation de cin.get() est correcte?

Merci d'avance