Struct avec fonctions

Tybrenn Messages postés 5 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 26 novembre 2008 - 26 nov. 2008 à 06:34
BunoCS Messages postés 15479 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 juin 2024 - 26 nov. 2008 à 11:42
Je suis débutant en c++. J'essaie de faire un prog. qui permet de maintenir l'inventaire d'un cellier. J'utilise une struct contenant l'info de chaque vin, un tableau pour afficher et tout le reste et j'ai quelques fonctions pour le programme. J'ai une erreur qui revient plusieurs fois, C2059. Je vais mettre quelques lignes de codes pour aider... c'est une des fonction et une partie de mon main. Je tiens à préciser, j'ai fait un switch dans le main pour les choix que je peux faire dans le menu (ajouter un vin, voir l'info d'un vin, supprimer un vin, etc.)

enum Type_Region {ALSACE,BORDEAUX,BOURGOGNE,PROVENCE,RHONE};

struct Type_Cellier

{

      char Nom[MAX_CHAINE];

      int Millesime;

      Type_Region Region;

      int Nb_Bouteille;

};

void AfficheInformationsVins(Type_Cellier tableauCellier[ ])

{

      Type_Cellier vinCourant;

      int nbVin = 1;

      ifstream fichierVins;

      while (!fichierVins.eof())

      {

            vinCourant = tableauCellier[nbVin];

            AfficheVin(vinCourant);

            ++nbVin;

      }

}

switch (choixUsager)

{

      case 1:

      {

            AfficheInformationsVins(tableauCellier[ ]);

            break;

      }

      case 2:

      {

            indiceVinTrouve = RechercherVin(tableauCellier[ ]);

            break;

      }

      case 3:

      {

            SupprimerVin(tableauCellier[ ]);

            break;

      }

      case 4:

      {

            AjouterVin(tableauCellier[ ]);

            break;

      }

      case 5:

      {

            AfficherNbBouteilles(tableauCellier[ ]);

            break;

      }

Bon bien si quelqu'un peut m'aider ça ferait extrêment bien!! J'imagine que ça doit être ridicule comme erreur!! Merci!!

----.(-.¯|¯¥ß®£ñÑ.-).----

3 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
26 nov. 2008 à 09:27
Je ne sais pas si ça peut venir de là, mais perso je passe par des pointeurs quand des tableaux sont en paramètres des fonctions (c'est ma méthode, c'est peut-être pas la meilleure). Donc au lieu de void AfficheInformationsVins(Type_Cellier tableauCellier[ ]) je mettrai void AfficheInformationsVins(Type_Cellier *tableauCellier)


Je ne vois pas le main, mais je pense que l'appel d'une fonction sera tout simplement AfficheInformationsVins(tableauCellier); par exemple.


Ta fonction AfficheInformationsVins ressemblera a ça :
void AfficheInformationsVins(Type_Cellier *tableauCellier)
{
      Type_Cellier vinCourant;
      int nbVin = 1;
      ifstream fichierVins;
      while (!fichierVins.eof())
      {
            vinCourant = tableauCellier[nbVin];
            AfficheVin(vinCourant);
            ++nbVin;
      }
}
Tybrenn Messages postés 5 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 26 novembre 2008
26 nov. 2008 à 09:32
J'ai réglé mon problème qui était assez ridicule finalement. J'avais qu'à enlever les crochets dans chaque appel de fonctions, j'avais mis ça parce que l'argument était un tableau mais je dois pas en mettre. Mais merci pareil!! :)

----.(
BunoCS Messages postés 15479 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 juin 2024 103
26 nov. 2008 à 11:42
Hello,
Petite remarque pas bien méchante, en passant: quitte à coder en C++, autant utiliser les classes plutôt que les structures, non?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez-nous