#ifndef VOITURE_HH_ # define VOITURE_HH_ #include enum Etat { DISPO = 1, AFFECTE = 2, ACCIDENTE = 3, EN_PANNE = 4 }; class Voiture { public: Voiture(); Voiture(const std::string& m, Etat e, const std::string& mtr); ~Voiture(); void setVoiture(); void afficheStock() const; private: std::string _marque, _matricule; Etat _status; static int compteur; }; #endif
#include "voiture.hh" #include int Voiture::compteur = 0; Voiture::Voiture() { compteur++; } Voiture::~Voiture() { compteur--; } Voiture::Voiture(const std::string& m, Etat e, const std::string& mtr) : _marque(m), _matricule(mtr), _status(e) { compteur++; } void Voiture::setVoiture() { std::cout << "Donnez la marque: " << std::endl; std::cin >> _marque; std::cout << "Donnez l'etat de la Voiture: " << std::endl; int tmp; std::cin >> tmp; _status = Etat(tmp); std::cout << "Donnez la matricule: " << std::endl; std::cin >> _matricule; } void Voiture::afficheStock() const { std::cout << "La marque de la Voiture est: " << _marque << std::endl << "L'état de la Voiture est: " << _status << std::endl << "La matricule de la Voiture est: " << _matricule << std::endl << "Le nombre de Voiture dans le stock est: " << compteur << std::endl; }
#ifndef COLLABORATEUR_HH_ # define COLLABORATEUR_HH_ #include class Collaborateur { public : bool _servi; Collaborateur(); Collaborateur(const std::string& Nom, const std::string& Fonction, int Numero, bool droit); ~Collaborateur(); void demandeCollaborateur(); void affecter(); private : std::string _nom; std::string _fonction; int _numero; bool _droit; static int compteur; }; #endif
#include "collaborateur.hh" #include int Collaborateur::compteur = 0; Collaborateur::Collaborateur() { compteur++; } Collaborateur::~Collaborateur() { compteur--; } Collaborateur::Collaborateur(const std::string& nom, const std::string& fonction, int numero, bool droit) : _nom(nom), _fonction(fonction), _numero(numero), _droit(droit) { compteur++; } void Collaborateur::demandeCollaborateur() { std::cout << "Donnez le nom: "; std::cin >> _nom; std::cout << "Donnez sa fonction: "; std::cin >> _fonction; std::cout << "Donnez son numéro: "; std::cin >> _numero; std::cout << "Est ce qu'il a droit a une voiture: "; std::cin >> _droit; _servi = false; } void Collaborateur::affecter() { // Pas compris ce que tu cherchais à faire, tu sembles mélanger // la classe voiture et la classe collaborateur. // J'ai donc tout mis en commentaire // // if (_droit) // { // if (!_servi) // { // if (etat == DISPO) // { // _etat=affecte; // _servi = true; // std::cout << "La voiture vous a été affecté " << std::endl; // } // else // std::cout<<"La voiture n'est pas disponible" << std::endl; // } // else // std::cout<<"Vous avez déja une autre voiture" << std::endl; // } // else // std::cout<<"Vous n'avez pas le droit a une voiture" << std::endl; }
#include "voiture.hh" #include "collaborateur.hh" int main() { Voiture a; a.setVoiture(); Collaborateur b; b.demandeCollaborateur(); b.affecter(); a.afficheStock(); return 0; }
private: Voiture _voiture;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questioncomme j'ai dit dans mon premier poste j'ai jamais étudié le c++ avant, je suis en admission parallèle donc j'ai pas de pré-requi
il y a du traitement por la variable tmp; est ce que c'est la cause de l'interruption du programme à l'exécution?