A voir également:
- [C++ Bulder ] : Impossible de créer l'en-tête
- Gpt bulder - Guide
13 réponses
Salut Titou, peux-tu nous envoyer le debut de ton fichier vehicule.cpp s'il te plait (tous les #include du moins)
merci
merci
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
3 juin 2004 à 14:26
3 juin 2004 à 14:26
salut
ca veut dire qu'il y a du code dans vehicule.h (ou.hpp?)
alors qu'il ne devrait y'avoir que les prototypes des fonctions
propres à vehicule.c
le code doit être dans Vehicule.C et pas ailleurs
explication
- contenu d'un fichier .H:
void mafonction();
contenu d'un fichier .CPP ( ou.C )
void mafonction()
{
// ecrire le code ici
}
Il est fini le temps où les compilateurs permettaient
d'écrire du code dans un header, ou bien de faire #include "monfichier.c" au lieu de "monfichier.h"
Les compilateurs c et c++ sont de plus en plus sévères, et c'est tant mieux, ça permet de faire du code plus facile à exporter. On est sûr de faire un travail plus propre.
bienvenue dans la programmation structurée!
cordialement
ca veut dire qu'il y a du code dans vehicule.h (ou.hpp?)
alors qu'il ne devrait y'avoir que les prototypes des fonctions
propres à vehicule.c
le code doit être dans Vehicule.C et pas ailleurs
explication
- contenu d'un fichier .H:
void mafonction();
contenu d'un fichier .CPP ( ou.C )
void mafonction()
{
// ecrire le code ici
}
Il est fini le temps où les compilateurs permettaient
d'écrire du code dans un header, ou bien de faire #include "monfichier.c" au lieu de "monfichier.h"
Les compilateurs c et c++ sont de plus en plus sévères, et c'est tant mieux, ça permet de faire du code plus facile à exporter. On est sûr de faire un travail plus propre.
bienvenue dans la programmation structurée!
cordialement
Le .h
******************************************************
#define __VEHICULE_H_
class Atelier;
class Entretien;
class Vehicule
{
public:
Vehicule();
~Vehicule();
void init(int nbKmActuel,int mesEntretiens, char numImma[8]);
int getNbKmActuel();
int getUnEntretien();
int getNbEntretiens();
void ajouteEntretien();
Atelier* LesVehicule;
Entretien** LesEntretients;
protected:
private:
char numImma[8] ;
int nbKmActuel ;
int mesEntretiens ;
};
#endif // #define __VEHICULE_H_
******************************************************
Le .cpp
******************************************************
// --------------------------------------------------------------------
// Vehicule.cpp : source file of class Vehicule
// --------------------------------------------------------------------
#include "Vehicule.h"
#include "Vehicule.h"
#include "Atelier.h"
#include "Entretien.h"
/*Constructeur destructeur*/
Vehicule::Vehicule()
{
char plaque[8];
int nbKm;
int Entretient;
cout << "Saisir les informations necessaire a la creation d un vehicule : " << endl;
cout << "Num plaque : " ;
cin >> plaque;
cout << "Nombre Km : " ;
cin >> nbKm;
// Pour les entretients c'est une collection d'entretient.
init(nbKm,1,plaque);
};
Vehicule::~Vehicule()
{
}
/*------------------------*/
void Vehicule::init(int nbKmActuel,int mesEntretiens, char numImma[8])
{
}
int Vehicule::getNbKmActuel()
{
return 0;
}
int Vehicule::getUnEntretien()
{
return 1;
}
int Vehicule::getNbEntretiens()
{
return 0;
}
void Vehicule::ajouteEntretien()
{
}
******************************************************
Mercide vos reponse
******************************************************
#define __VEHICULE_H_
class Atelier;
class Entretien;
class Vehicule
{
public:
Vehicule();
~Vehicule();
void init(int nbKmActuel,int mesEntretiens, char numImma[8]);
int getNbKmActuel();
int getUnEntretien();
int getNbEntretiens();
void ajouteEntretien();
Atelier* LesVehicule;
Entretien** LesEntretients;
protected:
private:
char numImma[8] ;
int nbKmActuel ;
int mesEntretiens ;
};
#endif // #define __VEHICULE_H_
******************************************************
Le .cpp
******************************************************
// --------------------------------------------------------------------
// Vehicule.cpp : source file of class Vehicule
// --------------------------------------------------------------------
#include "Vehicule.h"
#include "Vehicule.h"
#include "Atelier.h"
#include "Entretien.h"
/*Constructeur destructeur*/
Vehicule::Vehicule()
{
char plaque[8];
int nbKm;
int Entretient;
cout << "Saisir les informations necessaire a la creation d un vehicule : " << endl;
cout << "Num plaque : " ;
cin >> plaque;
cout << "Nombre Km : " ;
cin >> nbKm;
// Pour les entretients c'est une collection d'entretient.
init(nbKm,1,plaque);
};
Vehicule::~Vehicule()
{
}
/*------------------------*/
void Vehicule::init(int nbKmActuel,int mesEntretiens, char numImma[8])
{
}
int Vehicule::getNbKmActuel()
{
return 0;
}
int Vehicule::getUnEntretien()
{
return 1;
}
int Vehicule::getNbEntretiens()
{
return 0;
}
void Vehicule::ajouteEntretien()
{
}
******************************************************
Mercide vos reponse
Salut , commence ton .h par
#ifndef _VEHICULE_H (rajoute deja cette ligne, ca evite de definir deux fois la variable)
#define _VEHICULE_H
et tout à la fin
#endif
Pourquoi fais-tu deux fois #include "Vehicule.h" dans ton .cpp ?
pom
#ifndef _VEHICULE_H (rajoute deja cette ligne, ca evite de definir deux fois la variable)
#define _VEHICULE_H
et tout à la fin
#endif
Pourquoi fais-tu deux fois #include "Vehicule.h" dans ton .cpp ?
pom
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut encore une fois
Je viens de voir autre chose encore
as-tu bien mis
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
ou as-tu fais exprès de ne pas nous les envoyer ?
pom
Je viens de voir autre chose encore
as-tu bien mis
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
ou as-tu fais exprès de ne pas nous les envoyer ?
pom
Ok Merci de vos reponse rapide.
J'ai generer le code c++ depuis windesignor sur lequelle j'ai effectuer la modelisation UML (diagramme de classe), de ce fait certaine ligne de code se sont rajouté.
voila le debut du cpp
***********************************************
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include "Vehicule.cpp"
#include "4_Roues.cpp"
#include "2_Roues.cpp"
#include "Entretien.cpp"
#include "EntretienType.cpp"
#include "Atelier.cpp"
main ()
{
Roues4 r1;
cout << r1.getNbKmActuel() << endl;
;
getch ();
}
************************
Je vasi regarder les notes que vous m'avez fournies
J'ai generer le code c++ depuis windesignor sur lequelle j'ai effectuer la modelisation UML (diagramme de classe), de ce fait certaine ligne de code se sont rajouté.
voila le debut du cpp
***********************************************
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include "Vehicule.cpp"
#include "4_Roues.cpp"
#include "2_Roues.cpp"
#include "Entretien.cpp"
#include "EntretienType.cpp"
#include "Atelier.cpp"
main ()
{
Roues4 r1;
cout << r1.getNbKmActuel() << endl;
;
getch ();
}
************************
Je vasi regarder les notes que vous m'avez fournies
salut
je ne connais pas la fct getch(); que fait-elle. D'habitude, je fais
int main()
{
blabla
return 0;
}
Ca ne réponds surement pas à ton pb.
Que te dit le compilateur maintenant ?
bonne soirée
pom
je ne connais pas la fct getch(); que fait-elle. D'habitude, je fais
int main()
{
blabla
return 0;
}
Ca ne réponds surement pas à ton pb.
Que te dit le compilateur maintenant ?
bonne soirée
pom
getch (); = permet de faire une pausse jusqu'a ce que la personne appui sur une touche pour continuer le deroulement du programme.
Le compilateur me repond toujours le meme avertissement .... snif !!!!
Le compilateur me repond toujours le meme avertissement .... snif !!!!
c'est jsute des warning, j'ai matter avec mes prof ce matin et c'est windesign qui a ecrit du code a la con j'ai donc changer de logiciel de modelisation uml pour genrer mon code
Ok, mais ca marche maintenant ?
ton .cpp ne m'a pas l'air très grand ni meme tes classes. Pourquoi ne fais-tu pas tout à la main ?
(mais peut-etre que tu nous a montré qu'une partie de ton prgm...)
ton .cpp ne m'a pas l'air très grand ni meme tes classes. Pourquoi ne fais-tu pas tout à la main ?
(mais peut-etre que tu nous a montré qu'une partie de ton prgm...)
oui c'est juste une partie programme :-)
Le code d'avant fonctionne mais j'ai toujours la meme erreur d'entête !!!
Du coup j'ai pris un nouveau logiciel de modelisation uml
CLASSBUILDER mais toujours ce probleme d'entête mais au moin sa compile tout le projet et sa focntionne bien.
presenter ici http://uml.developpez.com/outils/
qui focntionne tres bien et du 1er coup, ce qui est mieux lolll
De plus c'est un tout en un car ds ce logiciel on peut integrer les partie de code propre a chaque methode, ce qui permet de garder toujours une vue au niveau analyse du programme objet.
je ne suis qu'au debut de la conception mais pour le moment sa ce passe bien....
Merci de ton aide
Le code d'avant fonctionne mais j'ai toujours la meme erreur d'entête !!!
Du coup j'ai pris un nouveau logiciel de modelisation uml
CLASSBUILDER mais toujours ce probleme d'entête mais au moin sa compile tout le projet et sa focntionne bien.
presenter ici http://uml.developpez.com/outils/
qui focntionne tres bien et du 1er coup, ce qui est mieux lolll
De plus c'est un tout en un car ds ce logiciel on peut integrer les partie de code propre a chaque methode, ce qui permet de garder toujours une vue au niveau analyse du programme objet.
je ne suis qu'au debut de la conception mais pour le moment sa ce passe bien....
Merci de ton aide