2 votes

La fonction cin.ignore() en C++ ne fonctionne pas pour l'ensemble du flux

J'essaie de saisir en toute sécurité un nombre entier compris entre 1 et 25, mais le code qu'on m'a dit d'utiliser ne fonctionne pas correctement. Voici le code :

*int SafelyInputInteger(int lowerBound, int upperBound)
{
    int intNumber;
    do {
        cout<<"Input a number: "; cin>>intNumber;
        if(cin.fail())
        {
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(),'\n');
            continue;
        }
    } while((intNumber<lowerBound)||(intNumber>upperBound));
    return intNumber;
}
int main()
{
int height;
height=SafelyInputInteger(1,25);
cout<<"Height is: "<<height<<endl;
 return 0;
}*

L'erreur que je reçois est la suivante : error : 'numeric_limits' n'a pas été déclaré dans ce champ d'application error : expected primary-expression before '>' token (erreur : expression primaire attendue avant le jeton '>') error : no matching function for call to 'max()' (pas de fonction correspondante pour l'appel à 'max()')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X