Bonjour la communauté , je vous remercie d'avance pour votre présence, vous m'aviez déja bien aider lors de 2 petis soucis que j'avais eu en Unix
Pour rappel :
https://www.jeuxvideo.com/forums/1-47-61617-1-0-1-0-petite-question-unix.htm
https://www.jeuxvideo.com/forums/1-47-62300-1-0-
1-0-petite-question-unix-2.htm
Aujourd'hui j'en appel à vous pour un probleme dans le domaine de la programmation par objet, le C++
)
Je débute encore et je dois dire que j'ai quelque soucis,mais mon probleme est le suivant:
Je cherche à vérifier que une valeur entré est bien un nombre, j'ai trouver une réponse sur un autre site :
http://www.commentcamarche.net/forum/affich-13403731-verifier-si-une-valeur-est-un-nombre-c
et sur une archive de programme (oui c'est mal je sais
) , j'ai trouver cette commande là qui lui ressemble beaucoup:
int saisie_nombre()
{
int nombre;
// verification si une valeur est un nombre :
while(!(cin >> nombre))
{
if(cin.eof())
{// verification du F10
cin.clear();
return -1;
}
else if(cin.fail()) // valeur entrée n'est pas un nombre
{
cout << "Erreur de saisie, Entrez un nombre svp : ";
cin.clear(); // on enlève les bits d'erreur.
// on vide le buffer ci-dessous
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
}
return nombre;
}
Mais ce que je souhaite à comprendre, c'est la signification de cette commmande :
while(!(cin >> nombre)), je ne vois pas a quoi sert le "!" dans cette ligne de commande et surtout comment il sait que ce n'est pas un nombre par cette méthode
Merci d'avance et oui mes questions sont assez basiques je sais 