Erreur dans mon code

Résolu
nourhene4 Messages postés 9 Date d'inscription jeudi 19 janvier 2012 Statut Membre Dernière intervention 16 avril 2012 - 31 mars 2012 à 14:19
nourhene4 Messages postés 9 Date d'inscription jeudi 19 janvier 2012 Statut Membre Dernière intervention 16 avril 2012 - 1 avril 2012 à 17:23
Bonjour,
J'ai fais un code d'un programme qui permet de saisir les informations du personnel dans une entreprise ( employé,cadre), mais mon code comporte beaucoup d'erreurs surtout aux niveau des constructeurs , pourvez vous m'aider ?
Merci d'avance
#include 
#include 
#include <string>
using namespace std;
 
class Personnel
{
    int NCI;
    char Nom[20];
    char Prenom[20];
    public:
    Personnel();
    Personnel(int nc,char *nm,char *pr);
    ~Personnel();
    void saisie();
    void affichage();
};
Personnel::Personnel()
{
    NCI=125;
    strcpy(Nom,"");
    strcpy(Prenom,"");
}
Personnel::Personnel(int nc,char *nm,char *pr)
{
    NCI=nc;
    strcpy(Nom,nm);
    strcpy(Prenom,pr);
}
Personnel::~Personnel()
{
    cout<<"Ceci est un destructeur de la classe Personnel"<<endl;
}
void Personnel::saisie()
{
    cout<<"Entrez le numero de la carte d'identité"<<endl;
    cin>>NCI;
    cout<<"Entrez votre Nom"<<endl;
    cin>>Nom;
    cout<<"Entrez votre Prenom"<<endl;
    cin>>Prenom;
 
}
void Personnel::affichage()
{
    cout<<"NCI= "<<NCI<<endl;
    cout<<"Nom= "<<Nom<<endl;
    cout<<"Prenom= "<>nb_h;
    cout<<"Entrez le tarif"<<endl;
    cin>>tarif;
}
void affichage::Employe()
{
    Personnel::affichage();
    cout<<"nb_h= "<<nb_h;
    cout<<"tarif= "<<tarif;
}
class Cadre:public Employe
{
    float salaire,prime;
    public:
    Cadre();
    Cadre(int nc,char *nm,char *pr,float sal,float pri);
    ~Cadre();
    void saisie();
    void affichage();
 
};
Cadre::Cadre()
{
    salaire=100;
    prime=0;
}
Cadre::Cadre(int nc,char *nm,char *pr,float sal,float pri):Personnel(nc,nm,pr)
{
    salaire=sal;
    prime=pri;
}
Cadre::~Cadre()
{
    cout<<"Ceci est un destructeur de la classe Cadre"<<endl;
}
void saisie::Cadre()
{
    Personnel::saisie();
    cout<<"Entrez le salaire"<<endl;
    cin>>salaire;
    cout<<"Entrez la prime"<<endl;
    cin>>prime;
}
void affichage::Cadre()
{
    Personnel::affichage();
    cout<<"Salaire= "<<salaire;
    cout<<"Prime= "<<prime;
}
void main()
{
    clrscr();
    cout<<"saisie une personne"<<endl;
    Personnel p;
    p.saisie();
    p.affichage();
    cout<<"saisie cadre"<<endl;
    Cadre c;
    c.saisie();
    c.affichage();
    cout<<"saisie employ\x82"<<endl;
    Employe e;
    e.saisie();
    e.affichage();
    getch();
}

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
1 avril 2012 à 13:33
Bonjour.

Tout d'abord quelques conseils sur des points qui me choquent dans ton code:
- Évite les "using namespace", voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace
- Préfère un std::string à un char*
- "int main()" et non "void main()"
- Tu fais un héritage sans utiliser de virtual, ce qui rend ton héritage très bancal...

Il y a des fautes des syntaxes que tu aurais pu corriger avant de poster ce code...
Notamment ligne 55, il te manque le type de variable de ton argument "tar" (une virgule en trop ?).

Ceci: "void saisie::Employe()" devrait être "void Employe::saisie()", tu as inversé à de nombreux endroits.

Je te laisse déjà corriger tout cela, avant d'aller plus loin.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
nourhene4 Messages postés 9 Date d'inscription jeudi 19 janvier 2012 Statut Membre Dernière intervention 16 avril 2012
1 avril 2012 à 17:23
Bonjour;
J'ai corrigé void main() en int , et void saisie::Employe()" en "void Employe::saisie(), et ça marche bien maintenant , merci !
Pour le using namespace , je suis entrain de comprendre le lien que tu m'as envoyé
0
Rejoignez-nous