IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
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 :

Erreur non comprise


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 7
    Par d�faut Erreur non comprise
    Bonjour � tous, dans le cadre d'un projet pour l'�cole je r�alise une programme de gestion de cd. Je viens de taper la proc�dure d'ajout d'un album(ci dessous), est lorsque je veux ex�cuter le programme il me retourne 3 erreurs que je ne comprend pas: " invalid types `int[int]' for array subscript ". Il me fait ces erreurs pour les lignes devant lesquel g plac� d commentaires. Je voudrais savoir si quelqu'un pourrait me renseigner merci d'avance.
    Je tourne sous windows xp
    et j'utilise Dev-C++

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    void AjoutAlbum(Album VTabAlb[], int *VNbAlbums, Artiste VTabArt[], int *VNbArtiste, 
         int VTabEnreg[299], int *VNbEnreg)
    {
         //Déclaration des variables
     
         string VNomAlb, VNomArt, VChoix1;
         int VAnnee, VNbChans, Ve, Ve2;
     
         //Début
     
         do
         {
              if(*VNbAlbums < 99)
              {
                  if(*VNbEnreg < 299)
                  {
     
                    cout<<"Nom de l'album à ajouter"<<endl;
                    getline(cin, VNomAlb);
     
                    Ve = RechercheAlb(VTabAlb, *VNbAlbums, VNomAlb);
     
                       if(Ve == -1)
                       {
                             cout<<"Année de sortie"<<endl;
                             cin>>VAnnee;
                             cin.ignore(1,'\n');
                             cout<<"Nombre de chansons"<<endl;
                             cin>>VNbChans;
                             cin.ignore(1,'\n');
     
                             VTabAlb[*VNbAlbums].NomAlb = VNomAlb;
                             VTabAlb[*VNbAlbums].AnneeAlb = VAnnee;
                             VTabAlb[*VNbAlbums].NbChans = VNbChans;
                             *VNbAlbums = *VNbAlbums + 1;
                          // VTabEnreg[1][*VNbEnreg] = *VNbAlbums;
     
                             cout<<"Nom du chanteur"<<endl;
                             getline(cin, VNomArt);
     
                             Ve2 = RechercheArt(VTabArt, *VNbArtiste, VNomArt);
     
                             if(Ve2 == -1)
                             {
                                    VTabArt[*VNbArtiste].NomArt = VNomArt;
                                 // VTabEnreg[0][*VNbEnreg] = *VNbArtiste;
                                    *VNbArtiste = *VNbArtiste + 1;
     
                             }
                             else
                             {
                                  // VTabEnreg[0][*VNbEnreg] = Ve2;
                             }
                       }
                       else
                       {
                             cout<<"Album déjà répertorié"<<endl;
                       } 
     
                  }
                  else
                  {
                             cout<<"Tableau des enregistrement plein"<<endl;
                  }
     
              }    
              else
              {
                        cout<<"Tableau des albums plein"<<endl;
              }    
     
     
              cout<<"Enregistrer un nouvel album(o/n)?";
              cin>>VChoix1;
              cin.ignore(1,'\n'); 
     
     
         }
         while(VChoix1 != "n");         
     
    }

    Edit par JolyLoic :

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    107
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 107
    Par d�faut
    pour la ligne :

    VTabEnreg[1][*VNbEnreg] = *VNbAlbums;

    je vois que VTabEnreg est un tableau d'entier et pas un tableau de tableau, etc

    Conseils :
    - sauf raisons particuli�re utilise des r�f�rences comme cela tu es toujours s�r que l'objet est valide :
    void AjoutAlbum(Album VTabAlb[], int &VNbAlbums, Artiste VTabArt[], int &VNbArtiste,
    int VTabEnreg[299], int &VNbEnreg)

    - sauf raisons particuli�re utilise des tableaux de la STL comme cela c'est plus simple :
    void AjoutAlbum(std::vector<Album> &VTabAlb, int &VNbAlbums, std::vector<Artiste> &VTabArt, int &VNbArtiste,
    std::vector<int> VTabEnreg, int &VNbEnreg)

    en bref utilise vraiment le C++ (utilise la STL, la librairie boost, les r�f�rences, des objets, des flots) ; sinon tu fait du C compil� avec un compilo C++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 7
    Par d�faut
    okok je te remercie pour les conseils.
    Par contre je vois pas ce que tu entends par "tableau de tableau".

  4. #4
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    107
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 107
    Par d�faut
    int VTabEnreg[299] ====> tableau d'entier

    VTabEnreg[1][*VNbEnreg] c'est :
    VTabEnreg[1], not� AAA

    puis
    AAA[*VNbEnreg]

    donc AAA[*VNbEnreg] ===> laisse penser que AAA est un tableau
    or AAA est VTabEnreg[1], c'est � dire un entier

    peut �tre voulais-tu un tableau � deux dimensions en entr�e de fonction ?

    Rq : int VTabEnreg[299] ====> je dirais que ca n'a aucun sens, car le compilateur ne v�rifiera pas que le tableau � 299 cases

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 7
    Par d�faut
    Oui c en 2 dimensions que je veux le tableau, c'est d'ailleur ainsi que je l'ai d�clarer dans le "int main" de mon programme:
    int VTabEnreg[1][299];


    Pour le VTabEnreg[299]:
    je pensai que dans les param�tre des fonctions ont devait mettre le nombre de colonne entre croch� quand on passe un tableau � 2 dimensions.

  6. #6
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    107
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 107
    Par d�faut
    Oui c en 2 dimensions que je veux le tableau.
    Et bien va falloir changer le param�tre de la fonction

    je pensai que dans les param�tre des fonctions ont devait mettre le nombre de colonne entre croch� quand on passe un tableau � 2 dimensions.
    Nop il te faut r�viser ton C, et les pointeurs.


    P.S. : indice :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    void AjoutAlbum(Album VTabAlb[], int *VNbAlbums, Artiste VTabArt[], int *VNbArtiste, int **VTabEnreg, int *VNbEnreg)
    pour le reste bon courage, pense � utiliser valgrind, je pense que tu en aura besoin.

Discussions similaires

  1. Erreur non comprise
    Par PadawanInPerl dans le forum Interfaces Graphiques
    R�ponses: 3
    Dernier message: 15/06/2012, 13h51
  2. erreur non comprise dans script
    Par lebelfortain1 dans le forum Langage
    R�ponses: 7
    Dernier message: 22/06/2011, 15h29
  3. Pb d'affichage.erreur non comprise
    Par l_seringa dans le forum C++Builder
    R�ponses: 12
    Dernier message: 28/03/2008, 19h25
  4. Erreur non Comprise
    Par Fahmi06 dans le forum Ubuntu
    R�ponses: 1
    Dernier message: 12/03/2008, 17h43
  5. erreur non comprise cherche solution
    Par debC++ dans le forum C++
    R�ponses: 12
    Dernier message: 17/06/2005, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo