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 :

afficher mon objet stocks


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    décembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2020
    Messages : 9
    Points : 7
    Points
    7
    Par défaut afficher mon objet stocks
    Bonjour,
    J'aimerais afficher mon objet stock et j’obtiens une erreur sémantique... donc il y a quelques choses que je comprends pas mais quoi ? voici le code
    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
    /*
     * stockarmes.h
     *
     *  Created on: 14 janv. 2021
     *      Author: vincent
     */
     
    #ifndef STOCKARMES_H_
    #define STOCKARMES_H_
    #include <iostream>
    #include <string>
    #include "Arme.h"
     
    class Stockarmes
    {
     
    public:
    	Stockarmes();
    	Stockarmes(std::string monArme, int nombreArme, int stock );
     
    	~Stockarmes();
    	void increment(std::string monArme, int nombreArme, int stock);
    	void decrement(std::string monArme, int nombreArme, int stock);
    	void changerArme(std::string nomNouvelleArme, int degatsNouvelleArme);
    	void afficherEtatstock() const;
    private:
    	std::string m_monArme;
    	int m_nombreArme ;
    	int m_stock;
     
    	Arme *m_arme; //pointeur
    };
     
    #endif /* STOCKARMES_H_ */
    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
     
    /*
     * stockarmes.cpp
     *
     *  Created on: 14 janv. 2021
     *      Author: vincent
     */
     
    #include "Stockarmes.h"
    using namespace std;
     
    Stockarmes::Stockarmes() : m_arme (10), m_stock(10),m_nombreArme(0){
    	// TODO Auto-generated constructor stub
     
    }
     
     
    Stockarmes::~Stockarmes() {
    	// TODO Auto-generated destructor stub
    }
     
    void Stockarmes::increment(string monArme, int stock, int nombreArme): m_monArme(""), m_stock(10), m_nombreArme (0)
    {
    	if (monArme)
    	{
    		stock = stock + nombreArme;
    	}
    }
     
    void Stockarmes::decrement(string monArme, int stock, int nombreArme): m_monArme(""), m_stock(10),m_nombreArme (0)
    {
    	if (monArme)
    	{
     
    		if (stock > 0)
    		{
    		stock =stock-nombreArme;
    		}
    	}
    }
    void Stockarmes::afficherEtatstock() const
    {
    	 cout << "nom de l'arme : " << m_monArme << endl;
    	    cout << "Quantité : " << m_stock << endl;
    	    m_arme->afficher();
    }

    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
    #include <iostream>
    #include <string>
    #include "Personnage.h"
    #include "Stockarmes.h"
     
    using namespace std;
     
     
    int main()
    {
        // Création des personnages
        Personnage david, goliath("Epée aiguisée", 20);
     
        // Au combat !
        goliath.attaquer(david);
        david.boirePotionDeVie(20);
        goliath.attaquer(david);
        david.attaquer(goliath);
        goliath.changerArme("Double hache tranchante vénéneuse de la mort", 40);
        goliath.attaquer(david);
     
        // Temps mort ! Voyons voir la vie de chacun...
        cout << "David" << endl;
        david.afficherEtat();
        cout << endl << "Goliath" << endl;
        goliath.afficherEtat();
        cout << "etat du stock" << endl;
        Stockarmes stocks () const;//-------------------------------------------------------------------ici
        stocks.afficherEtatstock();//-------------------------------------------------------------------ici
        return 0;
    }
    Nom : 2021-01-18_15-10.png
Affichages : 46
Taille : 59,5 Ko

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2015
    Messages
    1 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 243
    Points : 6 054
    Points
    6 054
    Par défaut
    Bonjour,

    C'est la ligne 28 qui pose un problème. Je suis étonné qu'elle compile!
    Elle déclare une fonction qui s'appelle stocks() et qui retourne un Stockarmes.
    D'où la ligne 29 qui ne comprend pas ce que la fonction stocks() vient faire ici.
    Il faudrait peut-être écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Stockarmes stocks; // définir une variable stocks de type Stockarmes

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    décembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2020
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Merci beaucoup !
    Tu as bien compris mon problème par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Stockarmes mavariabledetypestockarmes;
        mavariabledetypestockarmes.afficherEtatstock();
        return 0;
    ne tourne pas
    je sais pas comment l'écrire

  4. #4
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2015
    Messages
    1 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 243
    Points : 6 054
    Points
    6 054
    Par défaut
    Tu crées un objet initialisé par défaut.
    Immédiatement après tu veux l'afficher. Il n'a pas grand chose à dire! Et en plus il veut utiliser m_arme qui est un pointeur qui n'aura jamais été initialisé, ça va faire booum.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    décembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2020
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Merci beaucoup !
    oui ça a fait boum. Tu comprends bien mes problèmes quels bouquins tu recommanderai pour que je puisse progresser... je voudrais faire un essai a trois objets, ici il en à plein par le quel commencer

    Vincent

  6. #6
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2015
    Messages
    1 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 243
    Points : 6 054
    Points
    6 054
    Par défaut
    Bonjour,

    Il faudrait un cours qui est basé sur le C++ d'aujourd'hui, celui où on n'utilise quasiment plus les pointeurs. Sur Zeste de Savoir tu trouveras un bon tutoriel en plus il est en français. En bouquin, je n'ai pas d'idée.

    Pour ton code, il n'y a aucun lien entre le Stockarmes et tes Personnage. Mais peut-être que tes Personnage contiennent un Stockarmes mais ça n'aurait pas vraiment de sens. Il faut voir les liens qui doivent être entre les objets (par exemple: A est inclus dans B, A est responsable de B, A peut utiliser les services de B, ...) et ensuite on écrit le code qui correspond à ces liens.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    décembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : décembre 2020
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Merci beaucoup !
    Merci pour ta réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Forum] Comment afficher une image stockée comme objet serialisé
    Par alhakam dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 07/05/2013, 22h16
  2. Objet affiché différent de mon objet en session
    Par jbarbee dans le forum Struts 2
    Réponses: 2
    Dernier message: 09/06/2008, 21h16
  3. Réponses: 2
    Dernier message: 15/07/2007, 13h43
  4. Afficher une image stockée dans interbase
    Par NicolasR dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/06/2004, 11h00
  5. Afficher deux objets superposés C++ Builder 6
    Par nicoistia dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/03/2004, 16h09

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