Test les cin est affiche un message d'erreur
Bonjour j'aimerais savoir ce qui va pas avec mon code.
Parce-que quand je l’appelle avec une valeur (2) elle en ressort (-1.2985... négatif).
Code de la fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
/*
Tache: Test les cin est affiche un message d'erreur ci besoin
Entree: Les text a afficher
Sortie: La valeur entrez
*/
double test_valeur(string text1, string text2){
double valeur;
while(cin.fail()){
cin.clear();
cin.ignore(512, '\n');
cout << text1 << endl;
cout << text2;
cin >> valeur;
}
cin.clear();
cin.ignore(512, '\n');
return valeur;
} |
Code de l'appelle:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
do{
cout << "Entrez le taux horaire : ";
cin >> tauxHoraire;
// Celle ci marche --->
while(cin.fail()){
cin.clear();
cin.ignore(512, '\n');
cout << "Erreur! N'entrez que des chiffres." << endl;
cout << "Entrez le taux horaire : ";
cin >> tauxHoraire;
}
cin.clear();
cin.ignore(512, '\n');
// Celle ci marche pas (avec la fonction)--->
tauxHoraire = test_valeur("Erreur! N'entrez que des chiffres.", "Entrez le taux horaire : ");
erreurNegatif = chiffre_negatif(tauxHoraire);
}while(erreurNegatif); |
Mes bibliothèque:
Code:
1 2 3 4 5
| #include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
#include <string> |