Créer une classe pour gérer recette de cuisine

filoulebauju Messages postés 176 Statut Membre -  
lulu16100 Messages postés 109 Statut Membre -
Bonjour,

je suis à la recherche d'un tuto ou d'un exemple me permettant de créer une classe en C++
qui gère des recettes de cuisine.

Ex: Dans mon constructeur je mettrai le libelle de la recette et ensuite une fonction me permettrai d'ajouter des ingrédients avec leur quantité. (pas de limite en nombre)

Est-ce que quelqu'un aurait un exemple à me passer histoire de me mettre le pied à l'étrier et partir sur une bonne base ?

Merci d'avance.

7 réponses

  1. filoulebauju Messages postés 176 Statut Membre 8
     
    Je suis parti de cette manière, mais je ne sais pas si je suis bon ou non:

    class Recette {
    
    public:
      char * libelle;
      char * ingredient[];
      int quantite[];
    
      Recette(const char* lib){
        this->libelle = lib;
        this->ingredient = NULL; 
        this->quantite = NULL;
      }
    
    int add(const char * ing,  const int quan){
    
    }
    }


    mais j'avoue avoir un doute sur comment gérer les ingrédients et leur quantité.

    Merci d'avance.
    0
  2. filoulebauju Messages postés 176 Statut Membre 8
     
    Bonjour,

    personne n'a une idée ?
    0
  3. lulu16100 Messages postés 109 Statut Membre 61
     
    Bonjour,

    Est ce que tu connais les vector ? car je pense que ça pourrait convenir à ta classe pour les ingrédients et les quantités...
    0
  4. filoulebauju Messages postés 176 Statut Membre 8
     
    Est-ce que tu aurais un exemple ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lulu16100 Messages postés 109 Statut Membre 61
     
    La non...
    Mais pour ton code ça donnerai ça:
    #include <vector>

    class Recette {

    public:
    char * libelle;
    std::vector<char *> ingredient; // n'oubli pas dans le destructeur de faire un delete
    std::vector<int> quantite;

    Recette(const char* lib){
    this->libelle = lib;
    }

    int add(const char * ing, const int quan){
    ingredient.push_back(ing);
    quantite.push_back(quan);
    }
    0
    1. lulu16100 Messages postés 109 Statut Membre 61
       
      d'ailleurs tu n'es pas obligé de mettre this je crois...
      0
  7. filoulebauju Messages postés 176 Statut Membre 8
     
    j'ai déjà une class de ce style dans mon programme et j'aurais aimé m'en insiprer pour faire ma classe de recettes (partir sur la même façon de coder avec des char ** et pas spécialement des vectors), mais je suis bloqué pour les ingrédients et les quantités...
    (J'ai volontairement pas mis toute la classe car trop longue)

    class Tableau {
    private:
      unsigned int x;
    
    public:
      char **val;
      unsigned int index;
    
      Tableau(unsigned int xx) {
        this->x = xx;
    
        val = (char **) malloc(sizeof(char*) *xx);
    
        for(unsigned int ii = 0; ii < xx; ++ii) {
          val[ii] = (char *) malloc(sizeof(char) * INGREDIENT_ENTRY_SIZE);
        }
    
        this->index = 0;
      }
    
      Tableau() { 
        this->x = 0; 
        this->val = NULL; 
        this->index = -1; 
      }
    
      int add(const char * s) {
        if (strlen(s) > INGREDIENT_ENTRY_SIZE) {
          return -1;
        }
    
        strcpy(val[index], s);
        ++index;
    
        return 0;
      }
    
        return false;
      }
    };
    0
    1. lulu16100 Messages postés 109 Statut Membre 61
       
      Je suis désolée mais je peux pas vous aider... Je n'ai que des bases en C++
      0
  8. filoulebauju Messages postés 176 Statut Membre 8
     
    Mais ton exemple m'aide bien, je vais tenter un truc et je reviens vers vous :-)
    0