IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Erreurs programme en C++


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Apprenti en DUT GEII
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Apprenti en DUT GEII

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Erreurs programme en C++
    Bonjour,

    Je suis en DUT GEII et j'ai un petit soucis pour un programme que je dois rendre, alors voilà je vous explique :

    J'ai un programme en C++ où je dois utiliser les classes,j'ai deux classes : Patient et Medecin, il faut que je saisisse le patient et le medecin et que je l'affiche.
    J'ai fais ce programme mais il me dit qu'il y a des erreurs. Quelqu'un pourrait il m'aider ? Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #include <iostream>
     
    using namespace std ;
     
    class CPatient{
    public :
    string nom;
    string prenom;
    unsigned int nss;
    unsigned adresse;
     
    void affiche(ostream& affichage) const;
    void saisie();
    }
     
    void CPatient::affiche(ostream& affichage); const {
    affichage<<"Nom : "<<nom
    <<"\nPrenom : "<<prenom
    <<"\nN° SS : "<<nss
    <<"\nAdresse : "<<adresse
    <<endl;
    }
     
    void CPatient::saisie() {
    cout<<"Saisir le nom du patient : "<<endl;
    cin>>nom;
    cout<<"Saisir le prenom du patient : "<<endl;
    cin>>prenom;
    cout<<"Saisir le n° SS du patient : "<<endl;
    cin>>nss;
    cout<<"Saisir l'adresse du patient : "<<endl;
    cin>>adresse;
    }
     
    class CMedecin : public CPatient {
    public :
    string n_nom;
    string n_prenom;
    string specialite;
     
    void affiche1(ostream& affichage) const;
    void saisie1();
    }
     
    void CMedecin::affiche1(ostream& affichage) const {
    affichage<<"Nom : DURAND\nPrenom : Christophe\nSpecialite : Cardiologue"<<endl;
    }
     
    void CMedecin::saisie1() {
    cout<<"Saisir le nom du patient : "<<endl;
    cin>>nom;
    cout<<"Saisir le prenom du patient : "<<endl;
    cin>>prenom;
    cout<<"Saisir le n° SS du patient : "<<endl;
    cin>>nss;
    cout<<"Saisir l'adresse du patient : "<<endl;
    cin>>adresse;
    }
    int main()
    {
    int choix;
    do {
    cout<<"MENU\n1.Saisie des informations du patient\n2.Affichage des informations du patient\n3.Affichage des informations du médecin\n4. Saisie par le medecin des informations du patient\n5. Quitter le programme"<<endl;
    cin>>choix;
    switch (choix){
    case 1 : CPatient::saisie();
    break;
    case 2 : CPatient::affiche(cout);
    break;
    case 3 : CMedecin::affiche1(cout);
    break;
    case 4 : CMedecin::saisie1();
    break;
    case 5 : cout<<"Merci et au revoir"<<endl;
    break;
    default : cout<<"Entrée incorrect, veuillez réessayer !"<<endl;
    break;
    }
    }while (choix!=5);
    return 0;
    }
    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    balise [code] pour le code.

    Sinon, pourquoi un Medecin est-il un Patient ?
    Pourquoi un Medecin possède 2 noms et 2 prénoms ?

    Quand au main, va peut être falloir instancier des objets si tu veux que ça marche.

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    class Patient { /*...*/ };
    class Medecin { /*...*/ };
     
    int main(int, char**) {
       Patient p;
       Medecin m;
     
       // ...
       switch(choix) {
          case 1:
             p.saisie();
             break;
          case 2:
          // ...
       };
     
       // ...
       return 0;
    }

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Apprenti en DUT GEII
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Apprenti en DUT GEII

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci de votre réponse,

    En fait le médecin n'est pas un patient mais il peut accéder au Patient donc il hérite de sa méthode saisie et des informations du patient.

    Quand vous dites instancier des objets c'est a dire ?

    J'ai modifier mon programme il y a pas d'erreur mais j'ecris le nom du patient et il plante.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #‎include‬<iostream>
    #include<vector>
    #include<windows.h>
    #include<string>
    #include<cstdlib>
     
    using namespace std ;
     
    class CPatient {
    public:
    CPatient(string nom , string prenom , unsigned int nss ,unsigned int add )
    : nom(nom), prenom(prenom), nss(nss), add(add)
    {}
     
    void affiche(ostream& affichage) const;
    void saisie();
     
     
    protected:
    string nom ;
    string prenom ;
    unsigned int nss ;
    unsigned int add ;
    };
     
    void CPatient::affiche(ostream& affichage) const{
    system("cls");
    affichage<<"Nom : "<<nom
    <<"\nPrenom : "<<prenom
    <<"\nN° SS : "<<nss
    <<"\nAdresse : "<<add
    <<endl;
    }
     
    void CPatient::saisie() {
    system("cls");
    cout<<"Saisir le nom du patient : "<<endl;
    cin>>nom;
    cout<<"Saisir le prenom du patient : "<<endl;
    cin>>prenom;
    cout<<"Saisir le n° SS du patient : "<<endl;
    cin>>nss;
    cout<<"Saisir l'adresse du patient : "<<endl;
    cin>>add;
    }
     
    class CMedecin : public CPatient {
    public:
    CMedecin(string nom1,string prenom1,string nom , string prenom , unsigned int nss ,unsigned int add)
    : CPatient(nom,prenom, nss, add), nom1(nom1), prenom1(prenom1)
    {}
     
    void affiche(ostream&) const;
    void saisie();
     
     
    protected:
    string nom1 ;
    string prenom1 ;
    };
     
    void CMedecin::affiche(ostream& affichage) const {
    system("cls");
    affichage<<"Nom : DURAND\nPrenom : Christophe\nSpecialite : Cardiologue"<<endl;
    }
     
    void CMedecin::saisie() {
    system("cls");
    cout<<"Saisir le nom du patient 1: "<<endl;
    cin>>nom;
    cout<<"Saisir le prenom du patient 1: "<<endl;
    cin>>prenom;
    cout<<"Saisir le n° SS du patient 1: "<<endl;
    cin>>nss;
    cout<<"Saisir l'adresse du patient 1: "<<endl;
    cin>>add;
    }
     
    int main()
    {
    int choix, i;
    vector<CPatient> hopital;
    vector<CMedecin> hopital1;
    do {
    cout<<"MENU\n1.Saisie des informations du patient\n2.Affichage des informations du patient\n3.Affichage des informations du médecin\n4. Saisie par le medecin des informations du patient\n5. Quitter le programme"<<endl;
    cin>>choix;
    switch (choix){
    case 1 : hopital[i].saisie();
    break;
    case 2 : hopital[i].affiche(cout);
    break;
    case 3 : hopital1[i].affiche(cout);
    break;
    case 4 : hopital1[i].saisie();
    break;
    case 5 : cout<<"Merci et au revoir"<<endl;
    system("PAUSE");
    break;
    default : cout<<"Entrée incorrect, veuillez réessayer !"<<endl;
    break;
    }
    }while (choix!=5);
    }

    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Citation Envoyé par nicopanpam Voir le message
    En fait le médecin n'est pas un patient mais il peut accéder au Patient donc il hérite de sa méthode saisie et des informations du patient.

    Quand vous dites instancier des objets c'est a dire ?
    C'est vraiment les bases de la POO qu'il te manque, faudrait lire un cours (no offence, mais c'est comme ça qu'on apprend).

    La POO très (trop même) simplifié : "est-un" -> héritage; "possède un (ou plusieurs)" -> aggrégation.
    Un Medecin n'est pas un Patient -> pas d'héritage.

    Instancier des objets, hum, une classe est un modèle : c'est abstrait (ex: un Patient). Un objet c'est une instance de cette classe : c'est concret, c'est un objet en particulier (ex: John Doe).

    Citation Envoyé par nicopanpam Voir le message
    J'ai modifier mon programme il y a pas d'erreur mais j'ecris le nom du patient et il plante.
    Lis la doc de std::vector et les messages d'erreurs.

    Ton vector possède 0 éléments, et tu essaie d'accéder au i-ème. Avec i non défini (donc possédant une valeur potentiellement aléatoire).

Discussions similaires

  1. Erreur programme en C
    Par Vestigo dans le forum Débuter
    Réponses: 12
    Dernier message: 03/09/2007, 20h52
  2. Erreur programme d'envoi fichier sur serveur ftp
    Par batssa dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2007, 14h30
  3. ERREUR : programme d'installation
    Par shamima-woop dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 05/07/2007, 17h27
  4. Erreur Programmes!!! (ebesoin d'aide)
    Par charfamine dans le forum MFC
    Réponses: 6
    Dernier message: 08/04/2006, 13h16
  5. [MySQL] Erreur programme
    Par Didier100 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/01/2006, 22h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo