Mauvaise utilisation d'un boolean ?
Bonjour,
Enfet, voila mon problème. Si je rentre une somme, qui ensuite doit être déduite de 4.80 si la somme est supérieure a 4.80. Si je met 5 comme somme, ça fonctionne niquel, et ça affiche " bon appétit ".
Si je met 3 pour la somme, ça déduit pas 4.80 comme 3 est inférieure à 4.80. Jusque là tout va bien. Mais, le problème, c'est que ça m'affiche bon appétit, alors qu'il faudrait qu'il s'affiche IMPOSSIBLE.
Pour celà, je m'aide d'un boolean, si somme > 4.80, c'est vrai, sinon faux
Je suis obligé d'utiliser un boolean.
Je vous joints les fichiers afin que vous m'aidiez dans mon problème..
PS :
" Compte.h " : Fichier d'en-tête de mes méthodes
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| /*************************************************/
// Nom du fichier: Compte.h
// Nom du programmeur: MARTY Yvan
// Date de création : 30.01.2015
// Rôle: Fichier d'en-tête de TPCompte.cpp
// Nom des composants utilises: 0
// Historique du fichier:
// 30.01.2015 : Création du projet TPCompte
// 09.02.2015 : Ajout des commentaires des méthodes
/*************************************************/
#pragma once
class CCompte // Décalaration de la classe CCompte
{
public:
CCompte(int ID, float So); // Constructeur, avec un entier ID et un float So en paramètres
~CCompte(void); // Destructeur, avec aucun paramètres
// Methodes déclarés dans le fichier Compte.h :
bool Payer_Repas(float Prix);
// Nom : Payer_Repas
// Rôle : Permet de faire un VRAI / FAUX (grâce au bool) de la méthode Payer_Repas
// Paramètres d'entrée : Prix
// Paramètres de sortie : Boolean
// Paramètres d'E/S :
// Valeur de retour : true / false
float Consulter_Solde();
// Nom : Consulter_Solde
// Rôle : Permet de consulter son solde sur sa carte
// Paramètres d'entrée : /
// Paramètres de sortie : float
// Paramètres d'E/S :
// Valeur de retour : Contenu pointé de Solde
int Consulter_ID();
// Nom : Consulter_ID
// Rôle : Permet de voir son identifiant
// Paramètres d'entrée : /
// Paramètres de sortie : int
// Paramètres d'E/S :
// Valeur de retour : Ident
float Crediter(float Montant);
// Nom : Crediter
// Rôle : Permet d'ajouter de l'argent sur sa carte
// Paramètres d'entrée : Montant
// Paramètres de sortie : float
// Paramètres d'E/S :
// Valeur de retour : Contenu pointé de Solde
private: // Seules les méthodes peuvent y accéder
int Ident; // Décalaration de la variable Ident de type int
float Solde; // Déclaration de la variable Solde de type float
}; |
" Compte.cpp " : Fichier de définition des méthodes
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| /*************************************************/
// Nom du fichier: Compte.cpp
// Nom du programmeur: MARTY Yvan
// Date de création : 30.01.2015
// Rôle: Fichier de définition des méthodes
// Nom des composants utilises: 0
// Historique du fichier:
// 30.01.2015 : Création du projet TPCompte
// 30.01.2015 : Ajout du fichier Compte.cpp
// 09.02.2015 : Ajout des commentaires de l'intégralité du fichier "CCompte.cpp""
/*************************************************/
#include "Compte.h" // Appel du fichier d'en-tête : "Compte.h"
CCompte::CCompte(int ID, float So) // Designe la fonction CCompte de la classe CCompte, et ayant pour parametres un entier ID et un float So
{
this -> Ident = ID; // On met le contenu pointé Ident dans ID
this -> Solde = So; // On met le contenu pointé Solde dans So
}
CCompte::~CCompte(void) // Destructeur CCompte
{
}
// Méthode 1 : Payer un repas
bool CCompte::Payer_Repas(float Prix) // Utilisation du boolean : Vrai / Faux
{
if (this-> Solde >= Prix) // SI le contenu pointé de Solde est supérieur ou égal au Prix
{
this-> Solde = this-> Solde - Prix; // On soustrait au contenu pointé Solde le Prix
return true; // Si la ligne precedente est correcte, on renvoie VRAI
}
else
{
return false; // SINON on renvoie FAUX
}
}
// Méthode 2 : Consulter son solde
float CCompte::Consulter_Solde() // Utilisation de la méthode : Consulter_Solde
{
return this-> Solde; // On renvoie le solde présent sur notre carte
}
// Métode 3 : Connaitre son identifiant
int CCompte::Consulter_ID() // Utilisation de la méthode : Consulter_ID
{
return Ident; // On renvoie l'Identifiant de notre carte
}
// Méthode 4 : Ajout d'argent sur sa carte
float CCompte::Crediter(float Montant) // Utilisation de la méthode : Crediter
{
this-> Solde = this-> Solde + Montant; // On ajoute Montant au contenu de Solde
return this-> Solde; // On renvoie le Solde après l'ajout de Montant
} |
" Self.cpp " : fichier main() du projet.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| /*************************************************/
// Nom du fichier: Self.cpp
// Nom du programmeur: MARTY Yvan
// Date de création : 30.01.2015
// Rôle: main du fichier TPCompte.cpp
// Nom des composants utilises: 0
// Historique du fichier:
// 30.01.2015 : Création du projet TPCompte
// 06.02.2015 : Ajout du fichier main : Self.cpp
// 10.02.2015 : Ajout des commentaires
/*************************************************/
#include <iostream>
using namespace std;
#include "Compte.h" // Appel du fichier d'en-tête : "Compte.h"
int main()
{
bool Test; // Déclaration du bool
float SommeVersee; // Déclaration de SommeVersee de type float
float ConsulterSolde; // Déclaration de ConsulterSolde de type float
int x; // Déclaration de x de type int
float Solde; // Déclaration de Solde de type flaot
CCompte CYvan (10020571,0); // Ccompte : classe // CYvan : Objet / Instance
cout << " Somme a crediter ? " << endl; // Affichage de ...
cin >> SommeVersee; // Saisie de la somme à verser
SommeVersee = CYvan.Crediter(SommeVersee); // Met le montant de la somme versée dans Crediter
cout << " Somme versee : " << SommeVersee <<endl; // Affichage de la somme versée
Test = CYvan.Payer_Repas(4.80); // On s'aide de Test pour utiliser la méthode Payer_Repas
if (Test = false)
{
cout << " IMPOSSIBLE ! " << endl; // Affiche ... si la somme versée est inférieure à 4.80
}
else
{
cout << " Bon appetit ! " << endl; // Affiche ... si la somme versée est supérieure à 4.80
}
Solde = CYvan.Consulter_Solde(); // Met le montant du solde dans Consulter_Solde
cout << " Votre nouveau solde est : " <<Solde<<endl; // Affiche ... le n
cin >> x; // Ligne permettant de ne pas fermer la fenetre CMD
return 0;
} |