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

Langage C++ Discussion :

PHP vers C++


Sujet :

Langage C++

  1. #1
    Membre à l'essai
    PHP vers C++
    Bonsoir, je débute dans le c++ est j'aimerai convertir une page php en C++, si quelqu'un pouvait m'aider ?

    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $arenas = "03 00 00 00 03||0A 00 00 00 0A||A3 00 00 00 A3||25 01 00 00 25||08 00 00 00 08||15 00 00 00 15||A6 00 00 00 A6||7A 00 00 00 7A||10 00 00 00 10||13 01 00 00 13||0E 00 00 00 0E||09 00 00 00 09||1B 01 00 00 1B||06 01 00 00 06||23 01 00 00 23||66 00 00 00 66||78 00 00 00 78||06 00 00 00 06||26 01 00 00 26||AA 00 00 00 AA||02 00 00 00 02||A8 00 00 00 A8||A7 00 00 00 A7||65 00 00 00 65||7C 00 00 00 7C||A9 00 00 00 A9||7B 00 00 00 7B||01 00 00 00 01||97 01 00 00 97||A0 00 00 00 A0||22 00 00 00 22||28 01 00 00 28||0D 00 00 00 0D||0C 01 00 00 0C||36 00 00 00 36||00 00 00 00 00||07 00 00 00 07||2B 00 00 00 2B||79 00 00 00 79||0B 00 00 00 0B||0C 00 00 00 0C||20 00 00 00 20||1F 00 00 00 1F||13 01 00 00 13||01 01 00 00 01||A5 00 00 00 A5||2D 00 00 00 2D||0F 00 00 00 0F||7D 00 00 00 7D||11 00 00 00 11||";
    $arena_aleatoire = rand(0, substr_count($arenas, "||") - 1);
    if($match_aleatoire == 3 || $match_aleatoire == 4){
    $arena_aleatoire = 5;	
    }
    $arena = explode("||", $arenas);
    $arena = $arena[$arena_aleatoire];
    echo $arena;
    ?>


    Merci par avance

  2. #2
    Responsable Systèmes

    Que veux tu faire, quel est ton but ?

    PHP est fait pour être intégré dans une page web. Si tu utilises le C tu pers déjà ça.

    Tu peux très bien utiliser le C comme serveur http, il doit même en exister qui ont pignon sur rue.

    Oublions 2mn l'aspect web et faisons le postulat que ton code est du php orienté console.

    La syntaxe PHP est proche du C. lignes se terminant par; structure entre crochets, if for, etc fonctionnant globalement pareil.
    Par contre grosse différence au niveau des variables. En PHP, une variable n'est pas typée et tu ne dois pas la déclarer (c'est maintenant faisable je crois mais ce n'est pas obligatoire, et pas le cas dans ton code) En PHP, c'est ce que tu fais d'une variable qui détermine son type (avec les avantages et les inconvénients que ça comporte).
    Ensuite tu vas trouver certaines fonctions que tu retrouves dans la libc comme strcmp, mais il faut bien lire la doc car il peut y avoir des différences. Rand que tu utilses existe aussi.
    Par contre explode, substr_count n'existent pas, mais il sera facile de les créer en C.
    idem pour echo, que tu pourras remplacer par un printf, mais il faudra par exemple ajouter les parenthèses qui sont facultatives en PHP dans ton cas.

    Je n'ai parlé que de C, vu que le code présenté n'est pas orienté objet, il fonctionnera globalement pareil en C ou C++.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutor...s/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre confirmé
    Citation Envoyé par chrtophe Voir le message
    Par contre explode, substr_count n'existent pas, mais il sera facile de les créer en C.
    idem pour echo, que tu pourras remplacer par un printf, mais il faudra par exemple ajouter les parenthèses qui sont facultatives en PHP dans ton cas.

    Je n'ai parlé que de C, vu que le code présenté n'est pas orienté objet, il fonctionnera globalement pareil en C ou C++.
    quand tu regardes le code php :
    c'est transformer $arenas en tableau d'éléments et aller en récupérer un au hasard

    en fonction de son besoin, il peut faire plus simple en C que de recoder explode et substr_count

  4. #4
    Expert éminent
    Il y a aussi la variable $match_aleatoire dans le test si qui sort du chapeau
    Est-ce 1 erreur de frappe avec la variable $arena_aleatoire ?

  5. #5
    Rédacteur/Modérateur

    En C, C++ ou même en PHP, ces données devraient être directement mises sous forme de tableau plutôt que d'utiliser un explode pour ça.
    Après ça, il reste un tableau et un opérateur []... qui je pense relèvent du trivial.
    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.

  6. #6
    Membre à l'essai
    Merci pour vos réponses, en faite je veux juste afficher une arena aléatoire. C'est vrai que j'aurai pu le faire sous forme de tableau mais bon c'est la même chose. $match_aleatoire c'est pas une erreur de frappe c'est juste le code plus haut car j'ai mis qu'une partie de mon code car je voudrai un exemple pour pouvoir faire le reste. Si quelqu'un peut me montrer une exemple à partir de ce code ça serai sympa.

    Merci par avance

  7. #7
    Membre à l'essai
    Code PHP :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $arenas = "03 00 00 00 03||0A 00 00 00 0A||A3 00 00 00 A3||25 01 00 00 25||08 00 00 00 08||15 00 00 00 15||A6 00 00 00 A6||7A 00 00 00 7A||10 00 00 00 10||13 01 00 00 13||0E 00 00 00 0E||09 00 00 00 09||1B 01 00 00 1B||06 01 00 00 06||23 01 00 00 23||66 00 00 00 66||78 00 00 00 78||06 00 00 00 06||26 01 00 00 26||AA 00 00 00 AA||02 00 00 00 02||A8 00 00 00 A8||A7 00 00 00 A7||65 00 00 00 65||7C 00 00 00 7C||A9 00 00 00 A9||7B 00 00 00 7B||01 00 00 00 01||97 01 00 00 97||A0 00 00 00 A0||22 00 00 00 22||28 01 00 00 28||0D 00 00 00 0D||0C 01 00 00 0C||36 00 00 00 36||00 00 00 00 00||07 00 00 00 07||2B 00 00 00 2B||79 00 00 00 79||0B 00 00 00 0B||0C 00 00 00 0C||20 00 00 00 20||1F 00 00 00 1F||13 01 00 00 13||01 01 00 00 01||A5 00 00 00 A5||2D 00 00 00 2D||0F 00 00 00 0F||7D 00 00 00 7D||11 00 00 00 11||";
    $arena_aleatoire = rand(0, substr_count($arenas, "||") - 1);
    if($match_aleatoire == 3 || $match_aleatoire == 4){
    $arena_aleatoire = 5;	
    }
    $arena = explode("||", $arenas);
    $arena = $arena[$arena_aleatoire];
    echo $arena;
    ?>


    Code C++ :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
    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    int main(){
    int arena_aleatoire;
    srand(time(0));
    const string arenas[50] = {"03 00 00 00 03", "0A 00 00 00 0A", "A3 00 00 00 A3", "25 01 00 00 25", "08 00 00 00 08", "15 00 00 00 15", "A6 00 00 00 A6", "7A 00 00 00 7A", "10 00 00 00 10", "13 01 00 00 13", "0E 00 00 00 0E", "09 00 00 00 09", "1B 01 00 00 1B", "06 01 00 00 06", "23 01 00 00 23", "66 00 00 00 66", "78 00 00 00 78", "06 00 00 00 06", "26 01 00 00 26", "AA 00 00 00 AA", "02 00 00 00 02", "A8 00 00 00 A8", "A7 00 00 00 A7", "65 00 00 00 65", "7C 00 00 00 7C", "A9 00 00 00 A9", "7B 00 00 00 7B", "01 00 00 00 01", "97 01 00 00 97", "A0 00 00 00 A0", "22 00 00 00 22", "28 01 00 00 28", "0D 00 00 00 0D", "0C 01 00 00 0C", "36 00 00 00 36", "00 00 00 00 00", "07 00 00 00 07", "2B 00 00 00 2B", "79 00 00 00 79", "0B 00 00 00 0B", "0C 00 00 00 0C", "20 00 00 00 20", "1F 00 00 00 1F", "13 01 00 00 13", "01 01 00 00 01", "A5 00 00 00 A5", "2D 00 00 00 2D", "0F 00 00 00 0F", "7D 00 00 00 7D", "11 00 00 00 11"};
    arena_aleatoire = rand() % 50;
    if(match_aleatoire == 3 || match_aleatoire == 4){
    arena_aleatoire = 5;	
    }
    string arena = arenas[arena_aleatoire];
    cout << "Arena : " << arena << endl;
    return 0;
    }


    ;-)