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 108 109 110 111
| #include <BasicConsole.h>
#include "vehicule3.h"
#include "chaine.h"
Vehicule3::Vehicule3()
:NombreDePlace(0)
{
}
Vehicule3::~Vehicule3()
{
}
Vehicule3::Vehicule3(const CChaine& UneImmatriculation, short nombreDePlaces)
:m_Immatriculation(UneImmatriculation), m_NombreDePlaces(UnShort)
{
}
Vehicule3::Vehicule3(const Vehicule3& Source) //constructeur par copie de CVehicule3
:m_Immatriculation(Source.m_Immatriculation),m_NombreDePlaces(Source.m_NombreDePlaces)
{
}
CVoiture::CVoiture()
:m_VTM(0.0)
{
}
CVoiture::CVoiture(const CVoiture& Source)
:Vehicule3(Source)
{
}
CVoiture::~CVoiture()
{
}
CTabVoitures::CTabVoitures()
:m_Nombre(0),m_Tableau(NULL)
{
}
CTabVoitures::~CTabVoitures()
{
}
CLeTout::CLeTout()
{
}
CLeTout::~CLeTout()
{
}
bool CLeTout::Charger(const char* NomFichier)
{
CChargeurFichierTexte Chargeur;
return Chargeur.Charger(NomFichier,'\t',CLeTout::FctnTraiterLigne,this);
}
bool CLeTout::FctnTraiterLigne(const CChargeurFichierTexte& CC, void* Contexte)
{
return ((CLeTout*)Contexte)->TraiterLigne(CC);
}
bool CLeTout::TraiterLigne(const CChargeurFichierTexte& CC)
{
if (strlen(CC.Champs(0)) == 1) switch (CC.Champs(0)[0])
{
case 'R':
if (CC.NombreChamps() == 4) m_TV.Ajouter(CVoiture(CC.Champs(1),CC.Champs(2)),CC.Champs(3),CC.Champs(4));
break;
}
return true;
}
bool CTabVoitures::Ajouter(const CVoiture& Modele)
{
if (!Modele.EstValide()) return false;
//if (Indice(Modele.Nom()) >= 0) return true;
CVoiture* AAjouter = new CVoiture(Modele);
if (AAjouter == NULL) return false;
void* Nouveau = realloc(m_Tableau,(m_Nombre+1)*sizeof(CVoiture*));
if (Nouveau == NULL)
{
delete AAjouter;
return false;
}
m_Tableau = (CVoiture**)Nouveau;
m_Tableau[m_Nombre] = AAjouter;
m_Nombre++;
return true;
}
bool CVoiture::EstValide() const
{
return (Vehicule3::EstValide()) && (m_VTM > 0);
}
bool Vehicule3::EstValide() const
{
return !m_Immatriculation.EstVide();
} |
Partager