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 :

multiplication en c++


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    particulier
    Inscrit en
    Janvier 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : particulier
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut multiplication en c++
    complétement novice, j'ai besoin d'un soft pour calculer des nombres décimaux de la façon suivante;

    Donnée A
    Donnée B
    Donnée C
    Donnée D

    A * B * C + 10% / D

    Je n'y connais rien en programmation, donc exceptionnellement, si quelqu’un pouvait me faire le code source ça rendrait un énorme service a notre association....

    Merci d'avance....cordialement

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    Si tu ne connais rien en développement, et que ce calcul est le seul à faire, utilise excel, ca sera plus simple que de coder un vrai programme.

    Sinon, présente nous mieux ton problème, et ce que tu as déjà essayé.
    Pour l'initiation, nous fournissons des cours et des faq
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    particulier
    Inscrit en
    Janvier 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : particulier
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Certes c'est plus simple sur excel, mais cela impose a tous de le posséder sur son PC, hors le but était de faire un petit programme exécutable facilement utilisable par tous....
    si j'en suis à demander de l'aide, c'est que je suis sur ce projet depuis des semaines et après de tres nombreux essais et des heures a lire des tutos et des cours j'en suis toujours au même point... je m'en sors pas !!!

    Si une âme charitable peut m'aider, car je suis convaincu que pour la majorité d'entre vous ça ne prendra qu'une poignée de minute voire moins, je vous en serais reconnaissant....

    cordialement

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Si tu es sur ce projet depuis des semaines, tu dois avoir un bout de code à nous montrer. Si tu le fais, on pourra probablement te dire en quoi il ne va pas.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 941
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 941
    Points : 5 652
    Points
    5 652
    Par défaut
    Loa,
    Citation Envoyé par siberie Voir le message
    Certes c'est plus simple sur excel, mais cela impose a tous de le posséder sur son PC, hors le but était de faire un petit programme exécutable facilement utilisable par tous....
    si j'en suis à demander de l'aide, c'est que je suis sur ce projet depuis des semaines et après de tres nombreux essais et des heures a lire des tutos et des cours j'en suis toujours au même point... je m'en sors pas !!!

    Si une âme charitable peut m'aider, car je suis convaincu que pour la majorité d'entre vous ça ne prendra qu'une poignée de minute voire moins, je vous en serais reconnaissant....

    cordialement
    Tes heures doivent faire quelques millisecondes pour les autres, car un truc aussi basique ne demande que les bases du langage, et encore, les bases basiques !
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    Si Excel pose problème (quel problème ?), OpenOffice a un tableur, et est gratuit.
    Sinon, GoogleDrive (ex GoogleDoc) permet de faire un fichier en ligne et... t'as besoin que d'un browser web. Ca devrait pas faire trop à "avoir sur son pc" non ?

    La calculatrice fournie avec l'OS (sur Windows, je suppose que c'est ce que tu utilises, et tes "utilisateurs" aussi - mais les autres OS ont sûrement un équivalent) en est tout à fait capable aussi.

    si j'en suis à demander de l'aide, c'est que je suis sur ce projet depuis des semaines et après de tres nombreux essais et des heures a lire des tutos et des cours j'en suis toujours au même point... je m'en sors pas !!!
    Ou juste que tu prends le problème à l'envers et cherches mal. En fait l'objectif est tellement ridicule, que vouloir faire ça en C++.. pourquoi d'ailleurs ? Si t'y connais rien ?
    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.

  7. #7
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    Autre solution, une page web (pour faire beau) avec une paire de boutons et une fonction javascript.
    L'avantage, tu apprendras un peu l'html, ce qui n'est pas inutile
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Développeur 3D
    Inscrit en
    Août 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur 3D

    Informations forums :
    Inscription : Août 2014
    Messages : 23
    Points : 33
    Points
    33
    Par défaut
    Oh la la ce que vous pouvez être méchants...
    Ah oui c'est facile de dire "mais c'est les bases des bases" et de lui rire au nez mais quand il s'agit d'aider vraiment il n'y a plus personne.
    Si c'est pour donner des réponses aussi inutiles c'est pas la peine de poster...
    En tout cas voici ma solution, un truc en javascript comme le proposait leternel.

    Code html : 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
    <HTML>
    <HEAD> 
    <SCRIPT LANGUAGE="javascript">
    function afficher(form2) { 
    var valA =document.form2.inputA.value; 
    var valB =document.form2.inputB.value; 
    var valC =document.form2.inputC.value; 
    var valD =document.form2.inputD.value; 
    document.form2.output.value=valA*valB*valC+(10/100)/valD;
    } 
    </SCRIPT>
    </HEAD>
    <BODY> 
    <FORM NAME="form2"> 
    A <INPUT TYPE="text" NAME="inputA" VALUE=""><BR> 
    B <INPUT TYPE="text" NAME="inputB" VALUE=""><BR> 
    C <INPUT TYPE="text" NAME="inputC" VALUE=""><BR> 
    D <INPUT TYPE="text" NAME="inputD" VALUE=""><BR> 
    <INPUT TYPE="button" NAME="bouton" VALUE="Calculer" onClick="afficher(form2)"><BR>
    RESULTAT <INPUT TYPE="text" NAME="output" VALUE=""> 
    </FORM> 
    </BODY> 
    </HTML>

    Copie le code, mets-le dans un fichier texte appelé commetuveux.html, puis tu enregistres, tu peux l'ouvrir en double-cliquant dessus. Tout le monde peut l'ouvrir même sans connexion internet.
    Au passage une petite indication : la ligne document.form2.output.value=valA*valB*valC+(10/100)/valD; est ton calcul, tu peux le modifier comme tu veux (je dis ça parce que ton 10% / D je trouve ça bizarre mais bon, je ne sais pas pour quoi tu fais ce calcul)

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 059
    Points : 12 095
    Points
    12 095
    Par défaut
    Heu, VulpesZerda, tu penses que ton machin est plus simple qu'une formule "Excel", non vraiment, sans déconner ?

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 142
    Points : 109
    Points
    109
    Par défaut
    Sinon, j'imagine qu'un truc comme ca irait ...

    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
     
    #include <string>
    #include<iostream>
    #include <sstream>
     
     
    bool affect(const std::string& s, double& d)
    {
      std::istringstream isstream ( s );
      return ( isstream>>d) && (isstream.eof());
    }
     
    int main(int argc, char** argv)
    {
      argc--; argv++;
      double args[4]; // A adapter si tu veux plus (ou moins) de parametres
      std::string name_args[4]={"A", "B","C","D"}; // A adapter aussi pour les appeler toto tata ou tonton
      std::string token;
      bool token_is_ok = false;
     
      for(int i=0; i<4;i++) // A adapter en cas de changement du nombre de parametre, ou mieux utilise tes connaissances en C++ pour changer ce satané 4 en const int.
        {
          if (argc>0) {token=*argv; token_is_ok=affect(token, args[i]);}
          std::string modif;      
          switch(token_is_ok)
    	{
    	case true : 
     
    	  std::cout<<"Actuellement "<<name_args[i]<<" = "<<args[i]<<std::endl;
    	  std::cout<<"Modifier ? (oui/autre) ";
    	  std::cin>>modif;
    	  if(modif!="oui") break;
    	  token_is_ok=false;
    	case false:
    	  while(!token_is_ok)
    	    {
    	      std::cout<<"Entrer une valeur pour "<<name_args[i]<<std::endl;
    	      std::cin>>token;
    	      if(!(token_is_ok=affect(token,args[i]))) {
    		std::cout<<"*"+token+"* "<<"n'est pas un nombre !"<<std::endl;}
    	    }
    	}
          argc--; argv++; token_is_ok = false;
        }
     // A adapter si tu changes de formule :
      std::cout<<name_args[0]+"*"+name_args[1]+"*"+name_args[2]+"+"+"10%/"+name_args[3]+" = "<<args[0]*args[1]*args[2]+0.1/args[3]<<std::endl;
    }
    A compiler et a appeler avec des arguments ou sans..

    Et au passage, je trouve aussi très bizarre le '+10%/D' ca fait pas très homogène comme formule...

  11. #11
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    C'est que sur une calculatrice, +10% s'applique à la valeur précédente (mais j'ignore si des priorités opératoires s'appliquent ou non, et si oui, lesquelles).

    En gros, "A * B * C + 10% / D" signifie soit (A * B * C) * 1.1 / D, soit A * B * (C * 1.1) / D.
    Heureusement, ici la différence n'a aucun effet vu que toutes les opérations qui précèdent sont des multiplications.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Développeur 3D
    Inscrit en
    Août 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur 3D

    Informations forums :
    Inscription : Août 2014
    Messages : 23
    Points : 33
    Points
    33
    Par défaut
    Tout le monde n'a pas excel et tout le monde ne sait pas compiler donc oui, je pense que ma solution est simple à utiliser.

  13. #13
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    Elle n'est pas valide au sens html (pas de doctype)
    Elle n'est pas lisible du tout, et il y a des fautes (la variable form2 n'est pas correctement fournie pour l'intention que tu en as, mais de toute facon, elle n'est pas utilisée dans la fonction)
    Personnellement, je n'appelle pas ca simple.

    Pour un résultat convenable, il aurait convenu d'utiliser des onChange() sur chaque input, et ajouter une validation numérique.
    C'est loin d'être aussi trivial.

    Par exemple, je rectifierai ton code ainsi:
    Code html : 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
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf8">
    	<script>
                    function afficher() {
                            var valA =document.calculatrice.inputA.value;
                            var valB =document.calculatrice.inputB.value;
                            var valC =document.calculatrice.inputC.value;
                            var valD =document.calculatrice.inputD.value;
                            document.calculatrice.output.value=valA*valB*valC+(0.1)/valD;
                    }
            </script>
    </head>
    <body>
        <form name="calculatrice">
    		<label>A <input name="inputA" value="0" type="number"></label><br>
    		<label>B <input name="inputB" value="0" type="number"></label><br>
    		<label>C <input name="inputC" value="0" type="number"></label><br>
    		<label>D <input name="inputD" value="0" type="number"></label><br>
    		<input value="calculer" onclick="afficher()" type="button"><br>
    		<label>resultat: <input name="output" value="0" type="number"></label>
    	</form>
    </body>
    </html>
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    Au risque de me répéter :
    - vouloir faire ça en C++ est ridicule, à fortiori quand on ne connait pas le language
    - pourquoi faire ça en javascript alors qu'il existe Google drive, outlook online etc...
    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.

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 142
    Points : 109
    Points
    109
    Par défaut
    Entierement d accord Mr.Bousk mais bon la question a été posée et on y a répondu, après s il veut le faire en assembleur ou en binaire ça sera sans moi...

  16. #16
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Points : 119
    Points
    119
    Par défaut
    en tout cas il faut dire que c'est accrocheur comme nom de sujet ^^

    question au demandeur, es tu d'accord qu'il faut comprendre A*B*(C*1.1)/D ?

  17. #17
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Points : 119
    Points
    119
    Par défaut
    Je profite de ce sujet easy pour poser une question pour les plus expérimentés,

    est-ce abusé de passer par une classe "Number" pour un cas comme cela, disons dans le monde de l'entreprise, en écrivant par exemple :

    number.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
    #ifndef NUMBER_H
    #define NUMBER_H
    #include <iostream>
    #include <string>
     
    using namespace std;
    class Number
    {
    private:
        double value;
        string name;
    public:
        Number();
        Number(string n):name(n){}
        Number(string n, double v):name(n),value(v){}
        ~Number(){}
     
        double getValue() const {return value;}
        string getName() const {return name;}
        void setValue(double v){value=v;}
        void setName(string n){name=n;}
     
        void scanValue();
     
        static double specialOperation(const Number A,const Number B,const Number C,const Number D);
        static void specialOperationPrint(const Number A,const Number B,const Number C,const Number D);
    };
     
    #endif // NUMBER_H
    number.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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include "number.h"
     
    double Number::specialOperation(const Number A,const Number B,const Number C,const Number D){
     
        if(D.value == 0){
            cout<<"ERROR, D = 0, CANNOT DIVIDE BY THIS NUMBER"<<endl;
            return NULL;
        }
     
        return A.value * B.value * C.value * 1.1 / D.value ;
     
    }
     
    void Number::specialOperationPrint(const Number A,const Number B,const Number C,const Number D){
        double result = specialOperation(A, B, C, D);
        if(result == NULL){}
        else{
            cout<<"A * B * (C+10%) / D = "<<result<<endl;
        }
     
    }
     
    void Number::scanValue(){
        double val;
        cin.clear();
        cout<<"Please enter the value of "<<name<<" :"<<endl<<name<<" = ";
        cin >> val;
        if (cin)
        {
            // extraction succeeded
            value = val;
            return;
        }
        else
        {
            // extraction failed
            cout<<"This is not a number, let's try again."<<endl;
            cin.clear();
            cin.ignore(10000,'\n');
            scanValue();
            return;
        }
    }
    Operation.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 "number.h"
     
    using namespace std;
     
    int main()
    {
        Number A("A");
        A.scanValue();
        cout<<"******"<<endl;
        Number B("B");
        B.scanValue();
        cout<<"******"<<endl;
        Number C("C");
        C.scanValue();
        cout<<"******"<<endl;
        Number D("D");
        D.scanValue();
     
        cout<<"===================="<<endl;
        Number::specialOperationPrint(A,B,C,D);
     
        cout<<"Good bye!"<<endl;
        return 0;
    }
    N'hésitez pas à me corriger s'il y a le moindre soucis.

    Ma question est : est-ce tiré par les cheveux de passer par une classe nombre ou ca va, on ne se moquera pas de moi ?

  18. #18
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    Pourquoi pas, mais je l'appelerai script::variable, et je la transmettrai en référence, éventuellement modifiante.
    La classe doit être la plus souple possible pour correspondre au besoin.

    Qui plus est, seulement si tu n'as pas une seule formule, mais que tu codes un interpréteur de formule.
    Sinon, tu utilises une map<nom_type, double>.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  19. #19
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par leternel Voir le message
    Pourquoi pas, mais je l'appelerai script::variable, et je la transmettrai en référence, éventuellement modifiante.
    La classe doit être la plus souple possible pour correspondre au besoin.

    Qui plus est, seulement si tu n'as pas une seule formule, mais que tu codes un interpréteur de formule.
    Sinon, tu utilises une map<nom_type, double>.
    Je ne comprends pas ta vision sur les map

    Aussi, j'ai remarqué que si A ou B ou C est égal à 0, specialOperationPrint n'affiche rien, ca veut dire que le C++ ne fait pas de difference entre un retour 0 de specialOperation et un retour NULL, c'est génant !

    J'ai lu quelque part qu'il faut préférer null_ptr à NULL, est ce que ca peut s'appliquer ici? quelle bibliothèque je doit integrer pour utiliser null_ptr?

  20. #20
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 186
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 186
    Points : 17 126
    Points
    17 126
    Par défaut
    Tu sais que NULL est un #define 0?
    En l'occurence, NULL n'est utilisable qu'avec des pointeurs.

    Sur le style, j'opterai pour:
    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
    namespace script {
     
    template <typename T>
    class Variable {
    private:
        T value;
    public:
        Variable& operator=(T const& v) {value = v; return *this;}
        //opérateur de conversion magique
        operator T () const {return value;}
     
        Variable& operator+=(double const& v) {value += v; return *this;}
        //...
    };
     
    }//script::
    La classe n'a pas besoin d'un nom interne, elle doit pouvoir s'utiliser invisiblement à la place d'un double.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

Discussions similaires

  1. Réponses: 87
    Dernier message: 06/07/2011, 16h33
  2. Multiple Count
    Par Antichoc dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/03/2003, 12h19
  3. formulaire choix multiple
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 02/02/2003, 19h59
  4. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 11h17
  5. Réponses: 6
    Dernier message: 25/03/2002, 22h11

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