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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
#include <string>