protection contre erreurs de saisie
salut
comment protéger ce programme contre des erreurs de saisie, lorsque l'utilisateur frappe 'x' dans un float; par exemple en turbo pascal il y a le IOresult
Code:
1 2 3 4 5 6 7 8 9 10
| #include <iostream>
using namespace std;
int main()
{
float a;
cout << "Un nombre: ";
cin>>a;
cout <<endl<< "tu as saisi : " << a <<endl;
return 0;
} |
ceci par exemple boucle de manière infinie
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#include <iostream>
using namespace std;
int main()
{
float a=5;
while(a!=-1){
cout << "Un nombre ou -1 pour quitter: ";
cin>>a;
cout <<endl<< "tu as saisi : " << a <<endl;
}
return 0;
} |
Voilà une légère correction, mais je préfère une correction du premier code pour éviter la frappe d'un caractère innacceptable; je prend le cas d'une simple addition où l'utilisateur frappe un caractère et non un nombre
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #include <iostream>
using namespace std;
int main()
{
float a=5;
while(cin>>a && a!=-1){
cout << "Un nombre ou -1 pour quitter: ";
cout <<endl<< "tu as saisi : " << a <<endl;
}
return 0;
} |