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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| #include <iostream>
#include <string>
#include "sortie_faillite.hpp"
void faillite::cashflow_negatif(){
salaire=saisie_int("Salaire : ");
cashflow=salaire;
impots=saisie_int("Impots : ");
cashflow-=impots;
hypotheque=saisie_int("hypotheque : ");
remb_hypotheque=saisie_int("Remboursement de l'hypothèque : ");
cashflow-=remb_hypotheque;
pret_etudiant=saisie_int("pret étudiant : ");
remb_etudiant=saisie_int("Remboursement du prêt étudiant : ");
cashflow-=remb_etudiant;
pret_vehicule=saisie_int("pret véhicule : ");
remb_vehicule=saisie_int("Remboursement du prêt véhicule : ");
cashflow-=remb_vehicule;
carte_credit=saisie_int("dettes sur la carte de crédit : ");
remb_carte=saisie_int("Remboursement des dettes de la carte de crédit : ");
cashflow-=remb_carte;
autres_depenses=saisie_int("Autre dépenses : ");
cashflow-=autres_depenses;
saisie_pret_bancaire();
cashflow-=remb_banque();
depenses_enfants=saisie_int("Dépenses enfants : ");
cashflow-=depenses_enfants;
caisse=saisie_int("Caisse : ");
std::cout<<"caisse "<<caisse<<'\n';
std::cout<<"cashflow "<<cashflow<<'\n';
std::cout<<"salaire "<<salaire<<'\n';
std::cout<<"impôts "<<impots<<'\n';
std::cout<<"hypothèque : "<<hypotheque<<'\n';;
std::cout<<"Remboursement de l'hypothèque : "<<remb_hypotheque<<'\n';
std::cout<<"pret étudiant"<<pret_etudiant<<'\n';
std::cout<<"dette étudiant "<<remb_etudiant<<'\n';
std::cout<<"pret véhicule"<<pret_vehicule<<'\n';
std::cout<<"dette véhicule "<<remb_vehicule<<'\n';
std::cout<<"prets carte de credit "<<carte_credit<<'\n';
std::cout<<"dettes carte de credit "<<remb_carte<<'\n';
std::cout<<"autres dépenses "<<autres_depenses<<'\n';
std::cout<<"Pret_bancaire "<<pret_bancaire<<'\n';
std::cout<<"dettte banque "<<remb_banque()<<'\n';
std::cout<<"depenses pour les enfants "<<depenses_enfants<<std::endl;
/*if(cashflow<0 && caisse<-cashflow)//si vous êtes en faillite
if(peut_continuer())
std::cout<<"Vous pouvez continuer."<<std::endl;
else
std::cout<<"Vous sortez du jeu."<<std::endl;*/
}
int faillite::saisie_int(std::string const &message) {
std::string saisie;
while (true) { // On boucle indéfiniment jusqu'à un return
std::cout << message;
if (!std::getline(std::cin, saisie)) {
// Gestion d'erreur critique (ex: Ctrl+D / fin de flux)
return 0;
}
// 1. Vérifier si vide
if (saisie.empty()) {
std::cout << "Erreur : vous n'avez rien saisi." << std::endl;
continue; // On recommence la boucle
}
// 2. Vérifier si c'est numérique (accepte le signe - au début)
bool est_numerique = true;
size_t start_index = 0;
if (saisie.at(0) == '-') {
start_index = 1;
if (saisie.size() == 1) est_numerique = false; // Juste "-" n'est pas un nombre
}
for (size_t i = start_index; i < saisie.size(); i++) {
if (saisie[i] < '0' || saisie[i] > '9') {
est_numerique = false;
break;
}
}
if (est_numerique) {
try {
return std::stoi(saisie);
} catch (const std::out_of_range&) {
std::cout << "Erreur : Le nombre est trop grand." << std::endl;
}
} else {
std::cout << "Erreur : Entrez une valeur numérique valide." << std::endl;
}
}
}
void faillite::saisie_pret_bancaire(){
while(true){
pret_bancaire=saisie_int("pret bancaire (multiple de 1000) : ");
if(pret_bancaire % 1000 == 0)
break;
}
}
int faillite::remb_banque(){
return pret_bancaire/10;
} |