Partage
  • Partager sur Facebook
  • Partager sur Twitter

Début en C++ - McDo

    4 septembre 2016 à 15:09:15

    Bonjour, alors voilà depuis quelques jours je me suis mis au C++, et donc en suivant les cours je testais au fur et à mesure sans vraiment approfondir. Je me suis dit autant de tester tout ce que je connais directement. J'ai donc eu l'idée qu'un pote avait faite, c'était de faire un petit menu McDo dans l'invite de commande où l'on peut choisir ce que l'on veut prendre et ensuite voir le total à payer.


    Le truc c'est que je bloque à un moment. J'aimerais que l'utilisateur puisse choisir son menu en écrivant le chiffre qui correspond à chaque menu et une fois choisi, que cela lui indique le total à payer. Sachant qu'il peut choisir plusieurs fois le même menu.


    Voici le code :

    #include <iostream>
    
    using namespace std;
    
    int main()
    
    {
    
    // ----- Variable -----
    
    int const menu1(8);
    int const menu2(2);
    int const menu3(4);
    int const menu4(1);
    int const menu5(3);
    
    //----- Fin Variable -----
    
        cout << "Bienvenue chez McDo, que voulez vous manger ?" << endl;
        cout << "Voici nos menus :" << endl;
        cout << "1) Hamburger - 8 euros" << endl;
        cout << "2) Frites - 2 euros" << endl;
        cout << "3) Menu Happy Meal - 4 euros" << endl;
        cout << "4) Glaces - 1 euros" << endl;
        cout << "5) Salades - 3 euros" << endl;
        
        cout << "Total a payer : " << endl;
    
            return 0;
    
    }
    

    Donc j'ai déclaré une variable pour chacun de mes menus. Mais je sais pas si je dois utiliser un "cin" ou autres pour qu'une fois qu'il est choisi le menu correspondant, ça récupère le prix du menu et ça l'envoie dans une variable qui va tout additionner et qui affiche le total à payer à la fin.

    Merci de l'aide,

    Cordialement,

    -
    Edité par Artyoz 4 septembre 2016 à 15:10:11

    • Partager sur Facebook
    • Partager sur Twitter
    Apprend actuellement la programmation.
      4 septembre 2016 à 19:57:50

      Bonjour ! Oui tu peux très bien le faire mais à ta place je créerai une fonction :

       int prixTotal;
      int menuId;
      int prix;
      cin >> menuId;
      prixTotal = recupererPrixMenu(1) + recupererPrixMenu(2);
      int recupererPrixMenu(int id)
      {
      switch(id)
      {
      case 1: // Il prend un maxiBestof
      prixMenu = 5;
      break;
      case 2: //Il prend un Happy Meal
      prixMenu = 4.5;
      break;
      /* ..... */
      }
      return prixMenu;
      }

      Je n'ai pas testé ce code mais je pense qu'il fonctionne redis moi en des nouvelle. ;)

      -
      Edité par yassou200121 5 septembre 2016 à 21:57:27

      • Partager sur Facebook
      • Partager sur Twitter

      Blanc sans N ça fait blac, comme quoi sans haine on est tous égaux.

        4 septembre 2016 à 21:30:14

        Hello, j'ai placé le code ou je le penser le plus juste.

        Mais j'ai quelques erreurs que je n'arrive pas à résoudre voici le code :

        #include <iostream>
        
        using namespace std;
        
        int main()
        
        {
        
        // ----- Variable -----
        
        int const menu1(8);
        int const menu2(2);
        int const menu3(4);
        int const menu4(1);
        int const menu5(3);
        int prixTotal();
        int prix();
        int menuID();
        int recupererPrixMenu (int ID);
        //----- Fin Variable -----
        
            cout << "Bienvenue chez McDo, que voulez vous manger ?" << endl;
            cout << "Voici nos menus :" << endl;
            
            switch(id)
            {
            case 1: // Il prend un Hamburger prixMenu: 5
                prixMenu = 8;
                break;
        
            case 2: // Il prend une Frites
                prixMenu = 2;
                break;
        
            case 3: // Il prend un Happy Meal
                prixMenu = 4;
                break;
        
            case 4: // Il prend une Glace
                prixMenu = 1;
                break;
        
            case 5: // Il prend une Salade
                prixMenu = 3;
                break;
        
            return prixMenu;
        }
        
            cout << "1) Hamburger - 8 euros" << endl;
            cout << "2) Frites - 2 euros" << endl;
            cout << "3) Menu Happy Meal - 4 euros" << endl;
            cout << "4) Glace - 1 euros" << endl;
            cout << "5) Salade - 3 euros" << endl;
            cin >> menuID;
        
            prixTotal = recupererPrixMenu (1) + recupererPrixMenu (2)
        
            cout << "Total a payer : " << endl;
        
                return 0;
        
        }

        Cordialement,

        • Partager sur Facebook
        • Partager sur Twitter
        Apprend actuellement la programmation.
          5 septembre 2016 à 2:54:08

          Hello,

          Je trouve que tu t’emmêles beaucoup, évite juste d'utiliser des fonctions pour le moment.

          Par exemple lors des déclarations de tes variables lorsque tu fais quelque chose comme :

          int menu1(8);

          tu déclares ta variable menu1 et tu l'initialises à 8, ok.

          Mais quand tu fais quelque chose comme :

          int prixTotal();

          tu déclares une fonction en fait, pas une variable.

          Du coup tu fais des choses comme fonction = fonction ou fonction = variable donc évidemment ça ne marchera pas.

          Tu as aussi déclaré des constantes pour les prix des menus, ce qui est bien,mais tu ne les utilises pas ensuite, pourquoi ?

          Voilà la manière à faire pour que ça marche sans donner le code :

          - Tu affiches tout le menu (cout)

          - Tu demandes à l'utilisateur de choisir et récupère l'id du menu (cin id du menu)

          - Tu récupères le prix du menu que l'utilisateur a choisi (switch id du menu)

          - Tu affiches le prix à payer (cout)

          Si tu veux permettre à l'utilisateur de commander plusieurs menus, tu englobes ça avec une boucle et un prix total, mais essaie d'abord sans ^^

          • Partager sur Facebook
          • Partager sur Twitter
            5 septembre 2016 à 18:45:51

            Hello, j'ai commencé déjà à simplifier le code en faisant que 2 menus. Donc je vais te décrire les étapes :


            la première étape : Tu affiches tout le menu (cout) : C'est simple j'ai tout compris et tous réussis.


            La deuxième étape : Tu demandes à l'utilisateur de choisir et récupère l'id du menu (cinq id du menu) : C'est à celle-ci que je bloque. J'ai fait un switch avec "case1" qui correspond au menu 1, donc juste en dessous je dois mettre un "cin" pour récupérer le choix numéro 1. Mais le problème était que je sais pas si je dois envoyer le résultat dans une variable et quelle variable utilisé (une variable qui peut contenir plusieurs chiffres ?)


            Et comment faire pour que l'utilisateur utilise obligatoirement la touche "1" pour choisir le menu 1 et non pas la touche "c". J'utilise un if ( 1 == menu1) . Je sais pas si c'est possible... Et que mettre comme variable dans les parenthèses du switch.


            La troisième étape : Tu récupères le prix du menu que l'utilisateur a choisi (switch id du menu) : cette étape je n'ai pas encore réfléchi à comme la réaliser mais je la ferai une fois les deux premières étapes finis.


            La quatrième étape : Tu affiches le prix à payer (cout) : Ça je sais le faire pas si dur :)

            Voici le nouveau code :

            #include <iostream>
            
            using namespace std;
            
            int main()
            
            {
            
            // ----- Variable -----
            
            int const menu1(8);
            int const menu2(2);
            
            //----- Fin Variable -----
            
                cout << "Bienvenue chez McDo, que voulez vous manger ?" << endl;
                cout << "Voici nos menus :" << endl;
            
                switch ()
                {
                case 1: // Il prend un Hamburger prixMenu: 5
                    cout << "1) Hamburger - 8 euros" << endl;
                    break;
            
                case 2: // Il prend une Frites
                    cout << "2) Frites - 2 euros" << endl;
                    break;
            
                return 0;
            }
            
                cout << "1) Hamburger - 8 euros" << endl;
                cout << "2) Frites - 2 euros" << endl;
            
                cout << "Total a payer : " << endl;
            
                    return 0;
            
            }

            Désolée de vous embêter, mais c'est un peu dur au début.

            Merci de l'aide,

            Cordialement,

            • Partager sur Facebook
            • Partager sur Twitter
            Apprend actuellement la programmation.
              5 septembre 2016 à 19:28:38

              Je vais reprendre les étapes, j'ai peut-être pas été assez clair:

              1 : afficher tout le menu, donc tu commences par mettre TOUS les "cout" sauf celui du total à payer.

              2 : demander à l'utilisateur de choisir un menu, c'est là que tu places le "cin >> menuID", ce qui aura pour effet de dire au programme d'attendre le choix de l'utilisateur.

              3: récupérer le prix du menu, donc c'est ici que tu dois mettre le switch(menuID) et en fonction de l'id du menu tu peux savoir quel est son prix correspondant

              4: tu affiches la variable du prix du menu que l'utilisateur a choisi.

              Ne te tracasse pas encore pour vérifier si l'utilisateur ne rentre pas une lettre ou quelque chose d'autres, essaie que ça fonctionne d'abord comme ça.

              Voilà, j'espère que c'est un peu plus clair, sinon hésite pas.

              -
              Edité par Kolfering 5 septembre 2016 à 19:30:47

              • Partager sur Facebook
              • Partager sur Twitter
                5 septembre 2016 à 23:32:20

                Salut,

                Tu devrais te créer une structure regroupant le nom et le prix d'un menu et réunir tous tes menus dans un tableau de cette structure :

                struct Menu {
                    std::string nom;
                    unsigned prix;
                };
                std::array<Menu, 5> const menus {{
                    {"Hamburger", 8},
                    {"Frites", 2},
                    {"Menu Happy Meal", 4},
                    {"Glace", 1},
                    {"Salade", 3}
                }};

                Pour l'affichage, tu parcours ton tableau avec une boucle for.

                Pour récupérer le prix et le nom du menu sélectionné par l'utilisateur, tu as juste à indexer le tableau menus.

                • Partager sur Facebook
                • Partager sur Twitter
                  6 septembre 2016 à 20:58:56

                  J'ai tous repris et demain je m'attaque au switch ^^'

                  #include <iostream>
                  
                  using namespace std;
                  
                  int main()
                  
                  {
                  
                  //----- Variable -----
                  
                  int const menu1(8);
                  int const menu2(2);
                  int menuID (8);
                  
                  //----- Fin Variable -----
                  
                      cout << "Bienvenue chez McDo, que voulez vous manger ?" << endl;
                      cout << "Voici nos menus :" << endl;
                  
                      cout << "1) Hamburger - 8 euros" << endl;
                      cout << "2) Frites - 2 euros" << endl;
                      cin  >> menuID;
                  
                           cout << "Total a payer : " << menuID << endl;
                  
                      return 0;
                  
                  }
                  

                  Squall31 j'aurais bien aimé mais j'ai pas encore vu les tableaux. c'est dans un futur chapitre mais la j'avance plus tant que j'ai pas finit de tous bien comprendre.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Apprend actuellement la programmation.
                    6 septembre 2016 à 22:28:12

                    voici un principe au quel j'ai pensé mais je te laisse l'implémenter.

                     Principe:

                    • tu as un menu des 5 nourritures
                    • tu demandes au user de choisir les nourritures qu'il va consommer en fonction des chiffres bien sur
                    • tu les mets dans une chaine de caractere
                    • puis tu lis la chaine de caractere avec un for par exemple
                    • tu fais un switch maintenant dans le for qui va prendre la valeur de chaque case et la comparer
                    • dans chaque case du switch tu demandes au user combien de produit de cette qualité il veut
                    • tu fais un cin et au prix total tu fais prixtotal += valeurproduit* valeurrecuperer dans le cin
                    • et à la fin tu fais un gros do .... while pour verifier que le user n'as pas oublié quelque chose
                    ça l'air un peu long mais si tu commences tu verras que c'est pas trop dur. si  tu as des problèmes pour implémenter je pourrais te donner quelques bout de code là où c'est pas clair;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 septembre 2016 à 19:26:29

                      Salut,

                      De manière générale, tu dois toujours essayer de veiller à ce que ton programme puisse évoluer "facilement".

                      Par exemple, tu n'as -- pour l'instant -- que cinq choix possibles dans ton menu, mais un macdo ou un quick, ca propose plusieurs dizaines de produits différents.  Et un prix -- potentiellement différent pour chaque produit -- est forcément associé à chacun des produits!

                      Or il y a une règle relativement importante à respecter lorsque l'on travaille en programmation : chaque "concept" (celui de produit, par exemple) utilisé par ton application doit être représenté d'une manière ou d'un autre au niveau de ton code.

                      De manière plus précise, on peut dire que chaque verbe que tu utilise dans la description de tes besoins devrait être représenté par une fonction et que chaque nom "significatif" utilisé dans cette description devrait être représenté par un type de donnée.

                      Si bien que la première chose à faire serait sans doute de créer une structure qui puisse regrouper les deux informations majeures qui nous intéressent en terme de "produit vendu" : son nom et son prix.

                      Elle pourrait sans doute prendre une forme proche de

                      struct Product{
                          unsigned int price; // le prix (en €) qui ne sera jamais négatif
                          std::string name; // le nom (pour savoir ce que l'on commande) 
                      };

                      De cette manière, nous pourrions maintenir *** n'importe quel nombre *** de produits vendus à l'aide d'un tableau, qui prendrait sans doute une forme proche de

                      std::vector<Product> allProducts;

                      Mais cette liste de produits est encore vide...  Une des premières choses qu'il faudrait donc faire, c'est de la remplir avec les produits que l'on souhaite vendre.  Et ca, ca signifie ajouter un produit à la liste.  Nous aurions donc sans doute une fonction qui pourrais ressembler à

                      void add( std::vector<Product> & items, // il faut savoir "à quoi" rajouter le produit
                                std::string const & productName, // il faut connaitre le nom du produit qu'on ajoute à la vente
                                 unsigned int productPrice){ // ...ainsi que son prix
                          /* j'utilise la syntaxe commune admise depuis C++11
                           * c'est beaucoup plus facile 
                           */
                          items.push_back({productPrice, productName});
                      }

                      Tu remarqueras, au passage, que même si les noms que j'utilise en anglais pour mes types, mes fonctions et mes données, je fais mon possible pour que chaque identifiant utilisé indique très précisément l'usage qui sera fait de ce type, de cette fonction ou de cette données.

                      C'est une des habitudes qu'il est primordial de prendre le plus rapidement possible ;).

                      Une fois que l'on a défini la liste des produits que l'on vent, l'une des première choses que l'on voudra pouvoir faire est sans doute de l'afficher.

                      Mais, bien sur, on ne sait pas à l'avance combien de produits nous allons afficher.  Il faut donc créer une fonction qui prendra "la liste des produits vendus" comme paramètre.  Elle prendra une forme proche de

                      /* on passe std::vector<Products> sous la forme d'une référence constante
                       * car cette fonction n'a absolument aucune autorité pour modifier 
                       * la liste des produits vendus
                       */
                      size_t menu(std::vector<Products> const & items){
                         for(size_t id = 0; id < items.size(); ++ id){
                             /* attention, id va de 0 à items.size() -1...
                              * on voudrait que le premier produit corresponde au 
                              * N°1.  Il faut donc un peu chipoter ...
                              */
                             std::cout<< id+1<<" : "<<items[id].name<<" "<<items[id].price<<"\n";
                         }
                         std::cout<<" Votre choix (0 pour quitter) ? :"
                         sizet_t choice;
                         /* if faudrait normalement sécuriser l'introduction
                          * ici, je me contente de m'assurer que le choix est valide
                          */
                      ,  std::cin>> choice;
                         if(choice == 0)
                             return std::numeric_limits::max();
                         assert(choice > 0 && choice <= items.size());
                         return choice -1;
                      }

                      Cette fonction fait deux choses (ce qui implique qu'elle en fait normalement une de trop):

                      afficher l'ensemble des produits que l'on vend et

                      demander à l'utilisateur ce que le client veut

                      Mais, grace à elle, nous serons en mesure de savoir si le client a fini sa commande ou non.  Nous verrons cela un peu plus tard ;)

                      Une fois que nous sommes en mesure d'afficher la liste des produits que l'on vend, nous voudrons sans doute permettre au client de passer sa commande. 

                      Nous devons donc créer une nouvelle structure qui puisse représenter le concept de "produit commandé".  Elle pourrait prendre la forme de

                      struct OrderedProduct{
                          size_t quantity; // on veut peut être plusieurs fois le meme produit
                          Product product;
                      };

                      Et, bien sur, il y a de fortes chances pour qu'un client commande plusieurs produits (différents)...  Nous serions donc sans doute bien inspiré de mettre tous les produits commandés ensembles!!!   Par exemple, sous une forme proche de

                      std::vector<OrderedProduct> order;

                      Et, bien sur, toute cette préparation n'avait qu'un seul objectif : permettre au client de ... passer sa commande.  Nous devrions donc avoir une fonction qui s'occupe de cette partie et qui pourrait prendre la forme de

                      /* cette fonction renvoie un tableau de produits commandés, mais, 
                       * la première chose qu'elle devra faire, c'est ... d'afficher
                       * les produits disponibles 
                       */
                      std::vector<OrderedProduct> takeOrder(std::vector<Product> const & items){
                          std::vector<OrderedProduct> order; // au début, la commande est vide
                          size_t what = 0;
                          /* tant que le client commande effectivement quelque chose}
                          while(what != std::numeric_limits<size_t>::max()){
                              /* on affiche la liste des produits, et on récupère le choix
                               * du client
                               */
                              what = menu(items);
                              /* si c'est un choix valide */
                              if(what != std::numeric_limits<size_t>::max()){
                                   /* on doit savoir combien il en veut */
                                   size_t quantity;
                                   std::cout<<"combien de "<<items[what].name
                                            <<" ?";
                                   std::cin>>quantity;
                                   /* afin de rajouter la bonne quantité du bon produit à  la commande */
                                   order.push_back({quantity, itemsp[what]});
                              }
                          }
                          /* arrivé ici, le client a fini de passer sa commande...
                           * nous pouvons donc la renvoyer car elle est considérée comme complète
                           */
                          return order;
                      }

                      Il aurait bien sur fallu sécurise un tout petit peu toutes ces fonctions, car le client ne commandera jamais ... 0 appy meal, mais bon... ca, ce sera pour une autre fois ;

                      Une fois que la commande est prise, on s'attend à

                      avoir un récapitulatif de "ce que le client a demandé" et

                      savoir pour combien il en a (imprimer un "ticket de caisse ???)

                      Nous devrions donc avoir une fonction proche de

                      void viewOrder(std::vector<OrderedProduct> const & order){
                          size_t total = 0;
                          for(auto const & it : order){
                              std::cout<< it.quantity<<" "
                                       <<it.product.name<<" a "
                                       <<it.product.price<<" euro = "
                                       << it.quantity * it.product.price <<"\n";
                              total += ( it.product.quantity * it.product.price); 
                          }
                          std::cout<<"pour un montant total de "<<total<<"\n";
                      }

                      Et bien sur, il faut considérer le fait que

                      • le magasin finira bien par fermer un jour où l'autre.  Il faut donc pouvoir quitter l'application
                      • on est en droit d'espérer que le magasin aura plus d'un client (et donc plus d'une commande) durant ses heures d'ouverture

                      Cela implique normalement de demander à l'utilisateur s'il veut fermer le magasin (et donc quitter l'application) ou s'il veut servir un nouveau client.

                      Normalement, cette question devrait être posée dans une fonction séparée, mais nous pouvons -- exceptionnellement -- envisager de la poser directement dans la fonction main.

                      Par contre, dés que l'application est "initialisée", elle doit disposer de la liste complète des produits vendus. Nous serions donc bien inspirés de rajouter une dernière fonction proche de

                      void initApplication(std::vector<Product> & items){
                         add(items, "Hamburger",8);
                         add(items, "Frites", 2);
                         add(items, "Happy meal",4);
                         add(items, "Glaces", 1); // on devrait peut être faire la différence entre la glace vanille, à 
                                                  // la crème et au chocolat
                         add(items, "Salade", 3);
                         /* si tu as d'autres produits, il viendront ici  */
                      
                      }

                      Si bien que la fonction principale (main) finira par prendre une forme proche de

                      int main(){
                          std::vector<Product> allProducts; // la liste des produits
                          initApplication(allProducts); // on initialise l'application en remplissant la liste des produits
                          size_t choice = 1;
                          while(choice!= 0){
                              std::cout<<"que voulez vous faire ? \n"
                                       <<"    - 1 : servir un nouveau client \n"
                                       <<"    - 0 : fermer le magasin\n"
                                       <<"Votre choix ? :"
                              cin>>choice;
                              if(choice == 1){  //si on sert un client
                                  auto order = takeOrder(allProducts); //on prend sa commande complète
                                  viewOrder(order); // et on en affiche le contenu
                              }
                          }
                          // ON FERME !!!
                          // l'application peut s'arrêter jusqu'à demain
                          return 0;
                      }

                      -
                      Edité par koala01 8 septembre 2016 à 0:01:36

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
                        7 septembre 2016 à 19:54:07

                        koala, je pense que ta réponse est trop avancée pour son niveau.

                        Dans un premier temps, on peut considérer qu'un menu est fixe : une chaine de caractères et un prix suffisent.
                        Dans un second temps, on peut se dire que l'on peut choisir quoi mettre dans le menu. A ce stade, on peut dire qu'un menu est un ensemble de produits (éventuellement 1 seul) par catégorie et un prix. Un produit est un nom ("frites" par exemple) et une catégorie. Tu pourrais avoir la catégorie des boissons, celle des "plats principaux", celle des accompagnements... Peut-être même qu'un produit pourrait aller dans différentes catégories ? Attention, à ce stade, il y a une différence à faire entre le menu présenté et le menu commandé.
                        Dans un troisième temps... Mais on peut modifier ce qu'il y a dans chacun des produits de son menu ! Un produit n'est plus un simple string mais un ensemble de produits que l'on peut éventuellement enlever. Chaque ingrédient est un string.
                        On pourrait même aller plus loin en faisant la gestion de stock du restaurant. Bref, tu peux y aller étape par étape en ayant à l'esprit les évolutions que tu pourrais apporter à ton application.

                        De l'autre côté, tu pourrais prendre en charge une commande qui comporte plusieurs menus, mettre en place une file de commandes, de produits préparés, de produits prêts, de produits à préparer pour les commandes,... Tu peux même aller jusqu'à faire une architecture client-serveur avec les clients qui servent à commander et le serveur qui s'occupe de toute la gestion (gestion de la file de commandes,...). Encore une fois, tu peux aller loin.

                        Il ne reste que la manière de sélectionner le tout : via la console, via une interface graphique quand tu te sentiras prêt,...

                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 septembre 2016 à 23:55:29

                          anolya a écrit:

                          koala, je pense que ta réponse est trop avancée pour son niveau.

                          Dans un premier temps, on peut considérer qu'un menu est fixe : une chaine de caractères et un prix suffisent.
                          Dans un second temps, on peut se dire que l'on peut choisir quoi mettre dans le menu. A ce stade, on peut dire qu'un menu est un ensemble de produits (éventuellement 1 seul) par catégorie et un prix. Un produit est un nom ("frites" par exemple) et une catégorie. Tu pourrais avoir la catégorie des boissons, celle des "plats principaux", celle des accompagnements... Peut-être même qu'un produit pourrait aller dans différentes catégories ? Attention, à ce stade, il y a une différence à faire entre le menu présenté et le menu commandé.
                          Dans un troisième temps... Mais on peut modifier ce qu'il y a dans chacun des produits de son menu ! Un produit n'est plus un simple string mais un ensemble de produits que l'on peut éventuellement enlever. Chaque ingrédient est un string.
                          On pourrait même aller plus loin en faisant la gestion de stock du restaurant. Bref, tu peux y aller étape par étape en ayant à l'esprit les évolutions que tu pourrais apporter à ton application.

                          De l'autre côté, tu pourrais prendre en charge une commande qui comporte plusieurs menus, mettre en place une file de commandes, de produits préparés, de produits prêts, de produits à préparer pour les commandes,... Tu peux même aller jusqu'à faire une architecture client-serveur avec les clients qui servent à commander et le serveur qui s'occupe de toute la gestion (gestion de la file de commandes,...). Encore une fois, tu peux aller loin.

                          Il ne reste que la manière de sélectionner le tout : via la console, via une interface graphique quand tu te sentiras prêt,...

                          Oui, bien sur, j'ai déjà été beaucoup plus loin que ce que demande le PO, et, d'un autre coté, j'ai tenté de rester *** relativement *** simple par rapport à ce qu'il y aurait sans doute moyen de faire dans un projet complet.

                          Mais, quel que soit le niveau d'un débutant, j'estime qu'il est très important d'essayer de faire en sorte de l'habituer :

                          • à réfléchir à ce que sont ses besoins réels
                          • à raisonner de manière efficace
                          • à essayer d'assurer un minimum de maintenabilité

                          Je crois sincèrement que cette réponse atteint les objetctifs qu'elle s'était fixé, même si je n'ai aucune garantie quant au fait que le PO prendra effectivement les habitudes citées ;)

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
                            8 septembre 2016 à 19:00:14

                            Je prends note de vos conseils koala01. En effet c'est un peu trop pousser pour moi :)
                            Mais ce que je vais faire pour le moment c'est simplement indiquer les menus et ensuite afficher un prix sans que l'utilisateur choisit.
                            J'avance dans la cour et j'améliorerai par la suite car je vois qu'avec des tableaux et des fonctions cela doit être un poil plus facile :)


                            Merci de l'aide et je garde votre aide ainsi que vos conseils dans un coin de mon PC.


                            Cordialement,

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Apprend actuellement la programmation.

                            Début en C++ - McDo

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown