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 :

Probl�me d'ex�cution de mon programme


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par d�faut Probl�me d'ex�cution de mon programme
    Bonjour
    J'aurais besoin d'aide pour mon programme. Donc dans mon programme je devais cr�er une classe m�re de mon choix et ensuite cr�er une sous classe de cette m�me classe. Sauf que quand je souhaite ex�cuter mon programme cesse de fonctionner et ne veut pas m'afficher l'objet cr�er depuis la sous classe.
    Mon programme:

    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
    #include <iostream>
    #define TAXES 0.2
     
    using namespace std;
     
    class Article
    {
    protected:
        int number;
        int quantity;
        string name;
        float price; //it is the price without the taxes
     
    public:
        Article(int number, int quantity, string name, float price);
        virtual void display();
        virtual float setPriceWithTaxes(); //it will give us the price with taxes
     
    };
     
     
    Article::Article(int aNumber, int aQuantity, string aName, float aPrice)
    {
        number = aNumber;
        quantity = aQuantity;
        name = aName;
        price = aPrice;
    }
     
    void Article::display()
    {
        cout << "The article number is " << number << endl;
        cout << "We have " << quantity << " of this article in our stock" << endl;
        cout << "The name of the article is " << name << endl;
        cout << "The price of this article without taxes is " << price << " euros" <<endl;
    }
     
    float Article::setPriceWithTaxes()
    {
        float newPrice;
        newPrice = price+(price*TAXES);
        cout << "The price of this article with taxes is " << newPrice << " euros" << endl;
    }
     
    class Clothe : public Article
    {
        string sizeClothe; //Size are from XS to XL
        string colorClothe;
     
    public:
        Clothe(string sizeClothe, string colorClothe);
        virtual void display();
    };
     
    Clothe::Clothe(string aSizeClothe,string aColorClothe): Article(number,quantity,name,price)
    {
        sizeClothe=aSizeClothe;
        colorClothe=aColorClothe;
    }
     
    void Clothe::display()
    {
        Article::display();
        cout << "The size of the clothe is " << sizeClothe << endl;
        cout << "The color of the clothe is " << colorClothe << endl;
    }
     
    int main()
    {
        Article femaleArticle = Article(1250369,10,"Maxi Dress",25.99);
        femaleArticle.display();
        femaleArticle.setPriceWithTaxes();
        Article maleArticle = Article(1236501,5,"Sweatshirt",35.99);
        maleArticle.display();
        Clothe a = Clothe("M","Red");
        a.display();
        return 0;
    }
    Est ce quelqu'un pourrait m'aider svp ?

  2. #2
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    D�cembre 2015
    Messages
    1 599
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 1 599
    Par d�faut
    Bonjour,
    Je ne vois pas comment un code qui ne compile pas pourrait planter!
    Ligne 55 : Clothe est un Article donc il doit s'initialiser au moins comme un article, il a un prix, un nom, ...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    Clothe::Clothe(int number, int quantity, string name, float price,string aSizeClothe,string aColorClothe): Article(number,quantity,name,price) {
        sizeClothe=aSizeClothe;
        colorClothe=aColorClothe;
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par d�faut
    Je ne pense pas que j'avais un probl�me de compilation puisque lorsque j'ai modifi� mon code avec ce que vous m'aviez propos� mon fichier .exe plante toujours. Je ne vois pas d'o� le probl�me provient. Je vous remercie tout de meme de m'avoir aider avoir l'erreur dans mon programme.
    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
    #include <iostream>
    #include <string>
    #define TAXES 0.2
     
    using namespace std;
     
    class Article
    {
    protected:
        int number;
        int quantity;
        string name;
        float price; //it is the price without the taxes
     
    public:
        Article(int number, int quantity, string name, float price);
        virtual void display();
        virtual float setPriceWithTaxes(); //it will give us the price with taxes
     
    };
     
     
    Article::Article(int aNumber, int aQuantity, string aName, float aPrice)
    {
        number = aNumber;
        quantity = aQuantity;
        name = aName;
        price = aPrice;
    }
     
    void Article::display()
    {
        cout << "The article number is " << number << endl;
        cout << "We have " << quantity << " of this article in our stock" << endl;
        cout << "The name of the article is " << name << endl;
        cout << "The price of this article without taxes is " << price << " euros" <<endl;
    }
     
    float Article::setPriceWithTaxes()
    {
        float newPrice;
        newPrice = price+(price*TAXES);
        cout << "The price of this article with taxes is " << newPrice << " euros" << endl;
    }
     
    class Clothe : public Article
    {
        string sizeClothe; //Size are from XS to XL
        string colorClothe;
     
    public:
        Clothe(int number,int quantity,string name,float price,string sizeClothe, string colorClothe);
        virtual void display();
    };
     
    Clothe::Clothe(int aNumber,int aQuantity,string aName,float aPrice,string aSizeClothe,string aColorClothe): Article(number,quantity,name,price)
    {
        sizeClothe=aSizeClothe;
        colorClothe=aColorClothe;
    }
     
    void Clothe::display()
    {
        Article::display();
        cout << "The size of the clothe is " << sizeClothe << endl;
        cout << "The color of the clothe is " << colorClothe << endl;
    }
     
    int main()
    {
        Article femaleArticle = Article(1250369,10,"Maxi Dress",25.99);
        femaleArticle.display();
        femaleArticle.setPriceWithTaxes();
        Article maleArticle = Article(1236501,5,"Sweatshirt",35.99);
        maleArticle.display();
        Clothe dress = Clothe(1265879,2,"Wedding Dress",1250.90,"S","White");
        dress.display();
        return 0;
    }
    Du coup lorsque j�ex�cute mon programme cette erreur s'affiche avez vous une autre id�e ?

    Nom : assignment4.PNG
Affichages : 128
Taille : 17,7 Ko

  4. #4
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par d�faut
    Cette ligne est suspicieuse : Clothe dress = Clothe(1265879,2,"Wedding Dress",1250.90,"S","White");.

    Si je ne dis pas de b�tises tu cr�es un objet temporaire, et ensuite tu appelles le constructeur (op�rateur ???) de recopie.
    Et comme il n'est pas cod� (c'est une copie binaire), alors ton attribut name est ind�fini [... comme les autres attributs, mais celui ci n'est pas un type simple/ P.O.D.] et plante.

    Essaye Clothe dress(1265879,2,"Wedding Dress",1250.90,"S","White");.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 17
    Par d�faut
    Mon programme ne plante plus avec votre solution mais le probl�me du coup c'est que je ne peux pas utiliser ma fonction display pour afficher ce que j'avais mis dans mon construteur Clothe. Comment puis je le faire afficher autrement tout en me servant de ma fonction display.

  6. #6
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Euh non il me semble que l'op�rateur= (ou constructeur par copie) par d�faut ne fera qu'appeler l'op�rateur= (ou constructeur par copie) sur chaque variable membre, dans l'ordre o� elles sont indiqu�es dans le .h
    Du coup, sans aucune allocation dynamique ni rien, je vois pas o� ce programme peut planter
    As-tu lanc� avec le debugger ? Parce qu'il te dira directement o� �a plante.
    Un std::string par d�faut est tr�s bien connu, c'est une cha�ne vide.

    Parmi les bonnes pratiques, il convient de d�clarer le destructeur virtual si tu comptes faire de l'h�ritage. L� �a va t'as aucune allocation dynamique, donc aucune fuite m�moire, mais bon.

    le probl�me du coup c'est que je ne peux pas utiliser ma fonction display pour afficher ce que j'avais mis dans mon construteur Clothe. Comment puis je le faire afficher autrement tout en me servant de ma fonction display.
    Kamoulox, j'ai rien compris. Pourquoi tu peux pas faire dress.display(); ?
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me d'ex�cution de mon programme avec Launch4J
    Par Mario Cayer dans le forum G�n�ral Java
    R�ponses: 5
    Dernier message: 15/12/2013, 19h35
  2. probl�me lors de l'ex�cution de mon programme
    Par salma1990 dans le forum C++
    R�ponses: 4
    Dernier message: 23/04/2013, 19h16
  3. R�ponses: 5
    Dernier message: 22/02/2011, 13h52
  4. R�ponses: 5
    Dernier message: 22/11/2007, 20h12
  5. R�ponses: 1
    Dernier message: 13/04/2007, 08h48

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