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 :

mon programme ne compile pas


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut mon programme ne compile pas
    Salut, je suis nouveau dans ce forum et je viens à vous pour faire part de mon problème en programme orienté objet (c++) notion des class.
    Le prof nous à donner un exercice de maison, dont voici ce que le programme doit afficher :
    Si je melange
    ‘’Eau : 600 ml, pH ‘’
    Avec
    "Acide chlorhydrique : 500 ml, pH 2’’
    J’obtiens :
    "Eau + Acide chlorhydrique : 1100 ml, pH 2.34242"
    Si je melange
    "Acide chlorhydrique : 500 ml, pH 2"
    Avec
    "Acide perchlorique : 800 ml, pH 1.5"
    J’obtiens :
    "Acide chlorhydrique + Acide perchlorique : 1300 ml, pH 1.63253’’



    J'ai commencé faire l'exercice et je me suis bloqué, voici mon code source:



    Dans le "Flacon.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
    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
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
    #pragma once
    #include <iostream>
    using namespace std;
    #include <cmath>
    #include <string>
    class Flacon
    {
    private:
    	string nom;
    	double volume;
    	double pH;
    public:
    	Flacon(void);
    	Flacon(string un_nom, double un_volume, double un_Ph);
    	ostream& etiquette(ostream& sortie) const;
    	void set_Nom(string un_nom);
    	void set_volume(double un_volume);
    	void set_pH(double un_pH);
    	string get_Nom()const;
    	double get_volume()const;
    	double get_pH()const;
    	~Flacon(void);
    };
     
    Dans le Flacon.cpp
     
    #include <iostream>
    #include "Flacon.h"
    using namespace std;
    #include <cmath>
    #include <string>
     
    Flacon::Flacon(void)
    {
    }
     
    Flacon::Flacon(string un_nom, double un_volume, double un_Ph):nom(un_nom),volume(un_volume),pH( un_Ph)
    {
     
    }
     
     
    Flacon::~Flacon(void)
    {
    }
     
    void Flacon::set_Nom(string un_nom)
    {
    	nom=un_nom;
    }
     
    void Flacon:: set_volume(double un_volume)
    {
    	volume=un_volume;
    }
     
    void Flacon::set_pH(double un_pH)
    {
    	pH=un_pH;
    }
     
    string Flacon::get_Nom()const 
    {
    	return nom;
    }
     
    double Flacon::get_volume()const
    {
    	return volume;
    }
     
    double Flacon::get_pH()const
    {
    	return pH;
    }
     
    ostream& Flacon::etiquette(ostream& sortie) const
    {
    	sortie<<nom<<" : "<<volume<<" ml, "<<"pH";
    	sortie<<pH;
    	return sortie;
    }
     
    ostream& operator<<(ostream& sortie, Flacon const& Flacon)
    {
    	return Flacon.etiquette(sortie);
    }
     
    Flacon operator +(Flacon F1,const Flacon& F2)
    {
    	F1.set_pH(log10((pow(10.0, -F1.get_pH())*F1.get_volume()+pow(10.0,-F2.get_pH())*F2.get_volume())/(F1.get_volume()+F2.get_volume())));
     
    	F1.set_Nom(F1.get_Nom()+F2.get_Nom());
     
    	F1.set_volume(F1.get_volume()+F2.get_volume());
     
    	return F1;
    }
     
    void afficher_melange(Flacon const& f1, Flacon const& f2)
    {
    	cout<<" Si je melange "<<endl;
     
    	cout<<" \t\""<<f1<<"\""<<endl;
     
    	cout<<"avec"<<endl;
     
    	cout<<" \t\""<<f2<<"\""<<endl;
     
    	cout<<"J'obtiens : "<<endl;
     
    	cout<<" \t\""<<(f1 + f2)<<"\""<<endl;
    }
     
    /*Flacon& operator +=(const Flacon& F)
    {
    	double set_Nom(get_Nom()+F.get_Nom());
    	double set_volume(get_volume()+F.get_volume());
    	double set_Ph(log10(2*pow(10.0,-get_Ph())*get_Volume()/(get_Volume()+get_Volume())));
    	return *this;
    }* cette partie du  code ne marche pas et il y a des erreurs/

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut ma partie main
    Voici ma partie "main.cpp"

    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
     
    #include <iostream>
    #include "Flacon.h"
    #include <conio.h>
    using namespace std;
    #include <cmath>
    #include <string>
     
    int main()
    {
    	Flacon flacon1("Eau", 600.0, 7.0);
     
    	Flacon flacon2("Acide chlorhydrique", 500.0, 2.0);
     
    	Flacon flacon3("Acide perchlorique", 800.0, 1.5);
     
    	afficher_melange(flacon1,flacon2);
    	afficher_melange(flacon2,flacon3);
     
    	getch();
     
    	return 0;
     
    }
    Svp aider moi mais avec un peu d'explication sur la partie que vous allez modifier, Merci!!!

  3. #3
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    quelques petites remarques :
    - utilise les balises CODE (le bouton '#') pour tes extraits de code sur le forum, ça fait la coloration syntaxique et c'est plus facile à lire,
    - sur ce forum nous aidons à résoudre des problèmes, nous ne les résolvons pas directement ("donne un poisson à un homme ..." tout-ça tout-ça) : sur quoi coince-tu exactement ?,
    - tu as posté dans le forum .NET alors que vraisemblablement tu fais du C++ non CLI, il y a donc peu de chances que tu obtiennes de l'aide,
    - un fichier header (.h) ne devrait pas contenir de définition, juste des déclarations. Le code ira dans un fichier .cpp (Flacon.cpp dans ton cas).

    Bonne suite dans tes études.
    Plus je connais de langages, plus j'aime le C.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut partie qui marque des erreurs
    mon programme ne compile pas et c'est cette partie de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Flacon& operator +=(const Flacon& F)
    {
    	double set_Nom(get_Nom()+F.get_Nom());
    	double set_volume(get_volume()+F.get_volume());
    	double set_Ph(log10(2*pow(10.0,-get_Ph())*get_Volume()/(get_Volume()+get_Volume())));
    	return *this;
    }
    qui marque des erreurs, alors j'aimera avoir une aide.

  5. #5
    Membre éprouvé
    Avatar de Garvelienn
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2016
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 244
    Points : 993
    Points
    993
    Par défaut
    Je n'ai pas lu le reste du code mais là, c'est évidant : vous confondez utilisation et déclaration de fonction (ce n'est peut-être qu'une simple étourderie ).
    Il semblerait que vous appeliez des fonctions mais en déclarant le type de retour comme dans une déclaration de fonction. Logique que le compilateur vous gronde.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //...
    double set_Nom(get_Nom()+F.get_Nom());
    //...
    devrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //...
    set_Nom(get_Nom()+F.get_Nom());
    //...
    A appliquer aux autres appels.

    edit: en relisant le reste du code, je pense en effet que c'est une étourderie de votre part. Ça sent le copier-coller à plein nez
    «Le management, tel qu’on l’apprend dans les écoles et tel qu’on l’applique ensuite, sous prétexte de «motivation du personnel», organise exactement le contraire, à savoir la démotivation organisée.» - Bernard Stiegler

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Je pense que tu devrais relire le post de jopopmk, jusqu'au bout, pas seulement le premier point.

    Donc pour te résumer, tu ne trouvera pas d'aide pour un programme C++ sur un forum .Net, et même sur le forum c++ tu n'auras pas d'aide tant que tes demandes peuvent se résumer a : Pourriez-vous faire mon exercice ou alors Pourriez vous faire ce truc que je ne sais pas faire.

    Ton dernier post est presque une provocation, après les conseils de jopopmk. Tu donne un code, du c++, du nous dit qu'il compile pas et que tu voudrais qu'il compile. Donc tu veux qu'on fasse ton travail , perdu, moi on me paye pour faire ca. Je veux bien t'aider quand même, te donner des conseils, t'expliquer des concepts que tu as du mal à comprendre, te montrer des bonnes pratiques, t'orienter vers des notions que tu ne connais pas... mais pas faire ton travail.
    Tu te rends compte qu'a aucun moment tu n'expliques ce que tu veux faire ! je te parle pas de nous donner l'énoncé de l'exercice...

    Et un autre conseil, quand tu postera sur le forum c++ alors donne leur au moins les erreurs que tu as et les lignes sur lesquelles elles apparaissent.

    Bon courage pour la suite,
    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut remerciement
    je vous remerci beaucoup pour vos critiques et conseils car c'est un peu douloureux et brisant mais que faire quant on est derrière une connaissance? avec votre aide j'ai reussi à finir mon exercice. merci beaucoup à tous.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 2
    Points
    2
    Par défaut remerciement a tous ce qui m'on porté aide
    je vous remercie beaucoup pour vos critiques et conseils car c'est un peu douloureux et brisant mais que faire quant on est derrière une connaissance? et je suis désolé si je n'ai pas respecté la manière de faire une requête dans ce forum mais avec votre aide j'ai réussi à finir mon exercice. merci beaucoup à tous.

Discussions similaires

  1. Mon programme ne trouve pas le package jt400
    Par Greg.shogun dans le forum JDBC
    Réponses: 2
    Dernier message: 11/05/2007, 10h21
  2. Réponses: 3
    Dernier message: 16/04/2007, 17h01
  3. Mon programme ne marche pas aprés le if:?
    Par mitherkiller dans le forum C
    Réponses: 28
    Dernier message: 28/03/2007, 19h47
  4. Mon programme ne fonctionne pas
    Par phil23 dans le forum C
    Réponses: 4
    Dernier message: 22/03/2007, 16h31
  5. Sos mon programme ne marche pas
    Par monalisa_dulouvre dans le forum C
    Réponses: 49
    Dernier message: 26/12/2006, 18h35

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