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 :

initialiser les valeurs d un tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Par défaut initialiser les valeurs d un tableau
    Salut, salut,
    j arrive pas a initialiaser les valeurs de mes tableaux dans differentes structures. Quelqu un pourrait-il m aider a le corriger ou faire une suggestion, car mon Compilateur me dit: "Error=Data member initializer ist not allowed"
    Merci pour votre reponse.
    Voici mes codes:
    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
    class CMethode
    {
        public:
            void Menue (void);
            void Distinction_dOption(int Choix); 
     
        protected:
            struct Personne
            {
                char Noms[50];
                int NrIdent[7] = {11, 13, 17, 19, 23, 29, 31}; // C est ici que l erreur est signalee
            }A1;
     
            struct Compte
            {
                char Noms[50];
                int NrCompte[7] = {111, 113, 117, 119, 123, 129, 139}; // C est ici que l erreur est signalee
            }A1;
    };

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 152
    Billets dans le blog
    4
    Par défaut
    Comme le dit gentiment ton compilateur ta syntaxe n'est pas valide.
    Une telle syntaxe est il me semble possible en C++14 pour les variables const (static?), pas pour les membres.
    Pour initialiser les membres, on utilise le constructeur.
    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.

  3. #3
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    En plus de ce qu'a dit bousk, il faudrait que tu te mette un tout petit peu à la page : pour une une chaine de caractères (comme pour tes variables Noms), on utilise la classe std::string, et, pour les tableaux contigus de données, on utilise -- en fonction du fait que l'on connaisse ou non la taille du tableau à la compilation -- les classes std::array ou std::vector.

    (Oui, je sais... j'ai volontairement donné tous les liens en version anglaise... Mais, comme la plus grande partie de la documentation que tu trouveras en informatique est écrite dans la langue de Shakespeare, je me dis que c'est un bon plan que de t'y habituer tout de suite )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Par défaut Meme probleme, sauf si j ai pas bien mange ce matin!
    Bonjour a tous,
    tout d abord merci a Bousk et Koala01. J ai pu consulter hier soir les differents liens envoyes et essayer d appliquer mot a mot, ce que j ai pu comprendre. Mais le resultat reste inchange.
    Je suis consciens des regles du forum, a savoir ne pas faire mon devoir, mais m aider a resoudre mes problemes ou combler mes lacunes.
    Merci pour vos reactions!

    Code Principal:
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    #include <iostream>
    #include <array>
    #include<string>
    #include <iterator>
    #include<algorithm>
    #include "Klasse CBank.h"
    #include "CKonto.h"
    #include "Klasse CInhaber.h"
    using namespace std;
     
     
     
     
    void main (void)
    {
        CBank A;
        A.StartProjekt();
    }
    ==================================================================================================
    ==================================================================================================
    Headerdatei
    class CBank
    {
        protected:
           // KontoInhaber
            char Namen[50];
            std::array<unsigned int, 8> IdentNr = {11, 13, 17, 19, 23, 29, 31, 37}; // "Error=Data member initializer ist not allowed"
            std::array<unsigned int, 8> KtoNr = {111, 113, 117, 119, 123, 129, 131, 137}; // "Error=Data member initializer ist not allowed"
     
     
     
        public:
            void StartProjekt (void);
            void Auswahlverfahren(int Auswahl); 
     
            // Konstruktor
     
     
    };
    ======================================================================================
    ======================================================================================
    Methode
    // -------------------------------------> Methode fuer das Menue <----------------------------------------------
     
    #include <iostream>
    #include <array>
    #include<string>
    #include "Klasse CBank.h"
    using namespace std;
     
    void CBank::StartProjekt (void)
          { 
               int Wahl;
            cout <<"----------------->> KONTOVERWALTUNG <<----------------\n\n"<<endl;
            while(1)
            {
            cout <<"Eingabe-Menue:\n"
                    <<" [1] Einzahlung auf ein Konto;\n"
                    <<" [2] Auszahlung von einem Konto;\n"
                    <<" [3] Zuordnung eines Kontos zu einem Inhaber;\n"
                    <<" [4] Zuordung loeschens;\n"
                    <<" [5] Aktuelle Zuordnungsliste;\n"
                    <<" [6] Liste aller Kontoinhaber und aller Konten;\n"
                    <<" [0] Programmende.\n"
                    <<"\nGeben Sie einen der Menuepunkte ein: ";    cin>>Wahl;
              Auswahlverfahren(Wahl);
            }
         }
     
        void CBank::Auswahlverfahren(int Auswahl)
        {
            switch(Auswahl)
            {
                case 0:
                    cout<<"\nFin du Programme!!!"<<"\n"<<endl; break; 
                case 1:
                     cout<<"\nVersement!"<<"\t"<<"Einzahlung auf ein Konto"<<"\n"<<endl; break;
                case 2:
                     cout<<"Retrait!"<<"\n"<<endl; break;
                case 3:
                     cout<<"Attribution de compte a une personne!"<<"\n"<<endl; break;
                case 4:
                     cout<<"Supprimmer le compte!"<<"\n"<<endl; break;
                case 5:
                     cout<<"Liste d attribution des comptes!"<<"\n"<<endl; break;
                case 6:
                     cout<<"Liste des personnes et comptes!"<<"\n"<<endl; break;
                default:
                    break;
            }
        }

  5. #5
    Membre émérite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2013
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par défaut
    Quel compilateur utilise-tu? Le c++11 est-il activé?

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 771
    Par défaut
    Tu es dur de la feuille

    Ce sont des attributs de classes (ou valeurs membres) donc tu ne peux pas le faire comme si c'étaient des variables locales ou statiques quelque soit le type P.O.D. (Pain Old Data), std::vector ou autre

    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
    class CBank
    {
    protected:
    // KontoInhaber
    char Namen[50];
    std::array<unsigned int> IdentNr;
    std::array<unsigned int> KtoNr;
     
     
    public:
    void StartProjekt (void);
    void Auswahlverfahren(int Auswahl);
     
    // Konstruktor
    public:
     
        CBank(/**/) {
            KtoNr.resize(8); // <- si c'est un std::vector ou std::array
     
            KtoNr[ 0] = 111; KtoNr[ 1] = 113; KtoNr[ 2] = 117; KtoNr[ 3] = 119;
            KtoNr[ 4] = 123; KtoNr[ 5] = 129; KtoNr[ 6] = 131; KtoNr[ 7] = 137;
     
            IdentNr.resize(8); // <- si c'est un std::vector ou std::array
     
            IdentNr[ 0] = 11; IdentNr[ 1] = 13; IdentNr[ 2] = 17; IdentNr[ 3] = 19;
            IdentNr[ 4] = 23; IdentNr[ 5] = 29; IdentNr[ 6] = 31; IdentNr[ 7] = 37;
        } 
     
    };

  7. #7
    Membre émérite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2013
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par défaut
    En c++11, une syntaxe possible est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::array<unsigned int, 8> IdentNr{{11, 13, 17, 19, 23, 29, 31, 37}};
    ps : utilise la balise CODE stp à l'avenir.

Discussions similaires

  1. initialiser toutes les valeurs d'un tableau
    Par Biosox dans le forum C++
    Réponses: 1
    Dernier message: 09/11/2007, 10h41
  2. Réponses: 9
    Dernier message: 05/11/2005, 14h59
  3. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 15h02
  4. comparer les valeurs d'un tableau
    Par nicerico dans le forum ASP
    Réponses: 4
    Dernier message: 19/08/2004, 11h20
  5. Compter les valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    Réponses: 6
    Dernier message: 30/03/2004, 13h29

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