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 :

PHP to C++


Sujet :

C++

  1. #1
    Futur Membre du Club
    PHP to C++
    Bonjour,

    Je cherche à ajouter un peu de code à un programme C++ à partir du code PHP ci-dessous.
    Je n'y connais rien en C++ et je ne trouve pas de convertisseur online.
    Je compile avec Visual basic 2019.

    Merci pour votre aide
    Luc

    Code PHP :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
    <?php
    $out1 = 60;
    $out2 = 270;
     
    if ($out1-$out2 >=180) 
    	      {
                    $resultat = $out1-$out2-360;
                    echo sprintf("%.3f", $resultat);
                  } else if ($out1-$out2 <=-180) {
                    $resultat = $out1-$out2+360;
                    echo sprintf("%.3f", $resultat);
                  } else {
                    $resultat = $out1-$out2;
                    echo sprintf("%.3f", $resultat);
                  }
     
    if ($resultat >0)
    {
    echo "  Waxing";
    }
    else
    {
    echo "  Waning";
    }
    ?>

  2. #2
    Membre du Club
    salut,

    ça devrait marcher ce qui est en dessous.
    Le Php n'est pas très différent du C++ au niveau syntaxe de base, par contre il faut tout typer... comme tu as des valeurs entières et ensuite travailles sur des opérations entre flottant, j'ai changé le type int vers double de tes out1 et out2, ça t'évitera des troncatures à l'entier au niveau des multiplications/divisions

    Il faudrait aussi voir ton flux de sortie, par défaut j'ai dirigé dans la console (cout<<"je veux afficher ça"), si c'est vers des fichiers ce sera un tout petit peu différent.
    oublis pas le using namespace std; sinon tu dois mettre std::cout à la place de cout à chaque fois

    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
     
     
    #include <iostream>
    #include <string>
     
    using namespace std;
     
    string calcule(double out1, double out2)
    {
     
        double resultat = 0.0;
     
        if (out1-out2 >=180)
        {
          resultat = out1 -  out2 - 360.0 ; // c'est pas beau, mais c'est pour le transtypage int-> double vite fait
          cout<<resultat;
        }
        else if (out1-out2 <=-180)
        {
            resultat = out1 -  out2 + 360.0;
            cout<<resultat;
        }
        else
        {
            resultat = out1 - out2;
            cout<<resultat;
        }
     
        if (resultat >0)
        {
            cout<<" Waxing";
            return " Waxing";
        }
        else
        {
            cout<<" Waning";
            return " Waning";
        }
     
    }
     
    int main()
    {
        calcule(60,270);
    }

  3. #3
    Futur Membre du Club
    Merci beaucoup pour l'aide.

    Le compiler en linge ideone.com me renvoi ce message.
    Je n'ai peut-être pas tout bien saisi.

    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
    Standard input is empty
    compilation info
    prog.cpp:8:1: error: expected unqualified-id before ‘ifif (out1-out2 >=180)
     ^~
    prog.cpp:13:1: error: expected unqualified-id before ‘elseelse if (out1-out2 <=-180)
     ^~~~
    prog.cpp:18:1: error: expected unqualified-id before ‘elseelse
     ^~~~
    prog.cpp:24:1: error: expected unqualified-id before ‘ifif (resultat >0)
     ^~
    prog.cpp:28:1: error: expected unqualified-id before ‘elseelse
     ^~~~
     stdout copy
    Standard output is empty

  4. #4
    Expert éminent sénior
    Ce code doit être placé dans une fonction.
    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.

  5. #5
    Membre du Club
    J'ai modifié mon code, je pense que sans les #include ça avait peu de chance de marcher... comme tu ne connais pas le c++ tu ne pouvais pas deviner, mea culpa de moi donc!

    Tu peux créer un fichier vide (non lié à un projet, ou sinon enlève le main() déjà existant dans ton projet pour tester) et copier le code de mon message précédent.

    Pour appeler la fonction tu n'as qu'à faire calcule(60,270) et ça fonctionnera, le résultat est affiché dans la console, et tu peux aussi le récupérer pour l'utiliser ailleurs si tu veux:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    [...]
     
    double val1, val2;
    cout<<"Saisir valeur 1:"<<endl;
    cin>> val1;
    cout<<"Saisir valeur 2:"<<endl;
    cin>> val2;
     
    string result = calcule(val1,val2);
     
    cout<<"Je suis un resultat toujours valide: "<<result;

  6. #6
    Futur Membre du Club
    Merci beaucoup,

    Je vais essayer de me débrouiller avec tout ça.

    C'est une bonne base de départ pour ce que je veux faire.

    A+++
    Luc

###raw>template_hook.ano_emploi###