Créer un tableau sur c++
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 45

Créer un tableau sur c++



  1. #1
    Wass06

    Créer un tableau sur c++


    ------

    Bonjour,

    Je suis débutante dans le langage c++ et j'aimerai savoir comment stocker des données dans un tableau sur C++.

    Pour être plus précise, je demande dans le programme de saisir plusieurs données pour plusieurs individus (nom/prénom/âge/poids/taille) et ces données doivent être stockés dans un tableau (N lignes (nombre d'individus) et 5 colonnes).

    Merci d'avance de vos réponses.

    -----

  2. #2
    whoami

    Re : Créer un tableau sur c++

    Bonjour,

    Comment lis-tu les données allant dans les cases successives d'un tableau ?

    Comment fais-tu pour simplement lire quelques données allant dans la même structure ?

    Voilà, tu mets les 2 méthodes ensemble, et tu as ta solution.

  3. #3
    Wass06

    Re : Créer un tableau sur c++

    Bonjour,

    Mon problème c'est la création du tableau pas sa lecture. Je n'arrive pas à créer le tableau avec les données que je dois rentrer

  4. #4
    Jack
    Modérateur

    Re : Créer un tableau sur c++

    Il faut que tu commences par définir ta structure contenant les différents champs de données.
    Code:
    struct Personne
    {
       ...  // tes différents champs
    };
    Une fois la structure définie, tu pourras définir ton tableau:
    Code:
    Personne monTableau[1000]; // pour gérer jusqu'à 1000 personnes
    Mais puisque tu est en C++, il serait préférable de travailler avec les classes vector ou array qu'avec les tableaux classiques hérités du langage C.

  5. A voir en vidéo sur Futura
  6. #5
    lou_ibmix_xi

    Re : Créer un tableau sur c++

    Mais puisque tu est en C++, il serait préférable de travailler avec les classes vector ou array qu'avec les tableaux classiques hérités du langage C.
    Je me permets de rebondir là-dessus... Je déconseille le C++, surtout pour un 1er langage, ce qui semble être le cas.

  7. #6
    PA5CAL

    Re : Créer un tableau sur c++

    Bonsoir
    Citation Envoyé par lou_ibmix_xi Voir le message
    "Mais puisque tu est en C++, il serait préférable de travailler avec les classes vector ou array qu'avec les tableaux classiques hérités du langage C."

    Je me permets de rebondir là-dessus... Je déconseille le C++, surtout pour un 1er langage, ce qui semble être le cas.
    Mon point de vue est opposé.

    Le C++ est bien pour commencer, car il est assez complet et peu limité, et permet de ne pas faire l'impasse sur de nombreuses notions importantes sans être obligé de changer de langage en cours de route.

    Je conseillerais de commencer par utiliser le C++ comme s'il s'agissait du langage C, puis d'introduire plus tard les spécificités du langage (programmation objet, templates, etc.).

    La démarche est plus efficace, et la pratique d'autres langages s'en trouve ensuite facilitée.

  8. #7
    PA5CAL

    Re : Créer un tableau sur c++

    Pour répondre à la question, tout dépend si l'on connaît la taille maximale du tableau et de ses éléments dès le départ.

    Par exemple, quand aucune taille n'est connue par avance et qu'elles risquent par la suite d'être très variables, on a tout intérêt à utiliser des listes chaînées plutôt que des tableaux.

  9. #8
    Tryss2

    Re : Créer un tableau sur c++

    Citation Envoyé par PA5CAL Voir le message
    Pour répondre à la question, tout dépend si l'on connaît la taille maximale du tableau et de ses éléments dès le départ.

    Par exemple, quand aucune taille n'est connue par avance et qu'elles risquent par la suite d'être très variables, on a tout intérêt à utiliser des listes chaînées plutôt que des tableaux.
    Pas tout à fait d'accord. Les liste (chainées), c'est bien si :
    - on parcourt les éléments dans l'ordre
    - on ajoute/enlève des éléments au milieu

    Si on souhaite accéder aux éléments d'une façon arbitraire, et qu'on n'enlève ni ne rajoute des éléments au milieu, alors une liste (chainée) ne me semble pas la structure la plus adaptée.

  10. #9
    Wass06

    Re : Créer un tableau sur c++

    Bonsoir !

    Merci à tous pour vos réponses.

    En ce qui concerne la réponse de Jack, une fois que j'ai structuré mes données et que je les ai stocké dans mon tableau, est-il possible de rajouter dans mon programme d'autres individus au fur et à mesure ?
    Le programme doit permettre de faire une mise à jour et de compléter le tableau lorsqu'il y a des nouvelles données (nouveaux individus).

  11. #10
    pm42

    Re : Créer un tableau sur c++

    Un tableau est une structure de taille fixe qui a l'avantage d'être très rapide d'accès mais très peu flexible.
    En pratique, on l'utilise de moins en moins en programmation moderne parce qu'on préfère sacrifier un peu de performance à de la facilité de programmation, une gestion plus facile des cas réels où la taille des données change...

    Tu peux regarder les vector en C++ si tu veux pouvoir ajouter/retirer facilement : http://fr.cppreference.com/w/cpp/container/vector

  12. #11
    Jack
    Modérateur

    Re : Créer un tableau sur c++

    Citation Envoyé par Wass06 Voir le message
    une fois que j'ai structuré mes données et que je les ai stocké dans mon tableau, est-il possible de rajouter dans mon programme d'autres individus au fur et à mesure ?
    Le programme doit permettre de faire une mise à jour et de compléter le tableau lorsqu'il y a des nouvelles données (nouveaux individus).
    Oui, tant qu'on attend pas la taille maxi du tableau.
    Mais pm42 te propose la même chose que ce que je t'ai proposé plus haut et tu devrais t'intéresser à ces classes.

  13. #12
    Wass06

    Re : Créer un tableau sur c++

    Bonsoir,

    J'ai de grosses difficultés à créer ce tableau avec les différents types de données que j'ai.
    Une personne aurait un exemple de codage qui fonctionnerait dans mon cas ?

    Merci d'avance et joyeux Noël !

  14. #13
    Jack
    Modérateur

    Re : Créer un tableau sur c++

    Citation Envoyé par Wass06 Voir le message
    Bonsoir,

    J'ai de grosses difficultés à créer ce tableau avec les différents types de données que j'ai.
    Ce point a déjà été résolu. Je ne comprends pas pourquoi tu reviens dessus.

  15. #14
    Wass06

    Re : Créer un tableau sur c++

    Non j'ai essayé depuis plusieurs jours mais rien n'aboutit. Je suis vraiment novice.

    En fait je n'arrive pas enregistrer les données que je saisie ni à les stocker dans le tableau après les avoir saisies. Le tableau de structure ne s'affiche pas.
    Il n'y a aucun exemple sur internet qui me permet de résoudre le problème, les exemples sont très simples et toujours les mêmes avec des variables entières.

    C'est pour cela que je vous demande un exemple de codage qui me permettrait d'obtenir un tableau comme expliqué dans mon premier post.

    Merci.

  16. #15
    Jack
    Modérateur

    Re : Créer un tableau sur c++

    Montre ton code plutôt, que l'on te dise ce qui ne va pas.

  17. #16
    Wass06

    Re : Créer un tableau sur c++

    Code:
    #include <iostream>
    const int N=200;
    using namespace std;
    
    struct Patientes
    {
        char nom;
        char prénom;
        int âge;
        float poids;
        float taille;
    };
    
    int main()
    {
        char nom[50], prénom[50];
        float âge,poids,taille;
     
        
        cout<<"Saisir le nom de la patiente : ";
        cin>>nom;
        
        cout<<"Saisir le prénom de la patiente : ";
        cin>>prénom;
        
        cout<<"Saisir l'âge de la patiente : ";
        cin>>âge;
        
        cout<<"Saisir le poids de la patiente : ";
        cin>>poids;
        
        cout<<"Saisir la taille de la patiente : ";
        cin>>taille;
    };
    
    Patientes tableau[200];
    int i;
    
    for (i = 0 ; i < N ; i++)   // Expected unqualified-id
    {
    tableau[i]={nom,prénom,âge,poids,taille}     // Unknown type name 'cout' // Expected unqualified-id
    }
        
    cout<<tableau[i]<<endl;

  18. #17
    Jack
    Modérateur

    Re : Créer un tableau sur c++

    Les messages d'erreur sont normaux: tes variables et instructions doivent être dans une fonction, c'est à dire main si tu tu n'en a pas créé d'autres.

    Penses-tu que dans la structure, le nom et le prénom pourront tenir dans un seul caractère?
    Code:
    tableau[i]={nom,prénom,âge,poids,taille}
    On ne peut pas affecter des valeurs comme çà: il faut spécifier une case du tableau, puis un champ de la structure, par exemple:
    Code:
    tableau[i].age=age;
    En passant, évite les accents dans les noms de variables, c'est écrit dans n'importe quel cours de C++. Peut-être faudrait-il que tu commences par en acquérir les bases?

  19. #18
    Ikhar84
    Animateur Informatique

    Re : Créer un tableau sur c++

    Un minimum de cours serait à suivre avant de poursuivre...

    Où finit le main ? (accolade fermante, et pourquoi un
    Cela ressemble plus à un micmac entre le C et le C++, sans en être vraiment.

    Regardez comment on accède aux elements d'un tableau (individuellement), notamment quand cet element est une structure...

    Les variables "temporaires" sont aussi inutiles, les données pouvant être entrées dans une boucle, a condition de prévoir une manière de sortir de la boucle
    ...
    Etudiez déjà ces points...

    Edit: grillé par Jack...
    Et pas vu les char dans la struct comme le note Jack...
    Note : pourquoi ne pas utiliser des string ou des pointeurs pour les chaines ?
    Dernière modification par Ikhar84 ; 25/12/2017 à 22h42.
    J'ai glissé Chef !

  20. #19
    Wass06

    Re : Créer un tableau sur c++

    Oui je sais je n'ai pas de bases solides et je dois apprendre brusquement sur le tas.

    Pour l'accolade fermante du main, il faut la mettre après avoir créer le tableau pour pouvoir définir la variable "i" à l'intérieur du main c'est bien ça ?
    Je n'arrive pas à afficher le tableau, vous pouvez me dire pourquoi ?

    Code:
    #include <iostream>
    const int N=200;
    using namespace std;
    
    struct Patientes
    {
        char nom;
        char prenom;
        int age;
        float poids;
        float taille;
    };
    
    int main()
    {
        char nom[50], prenom[50];
        float age,poids,taille;
        int i;
        
        cout<<"Saisir le nom de la patiente : ";
        cin>>nom;
        
        cout<<"Saisir le prénom de la patiente : ";
        cin>>prenom;
        
        cout<<"Saisir l'âge de la patiente : ";
        cin>>age;
        
        cout<<"Saisir le poids de la patiente : ";
        cin>>poids;
        
        cout<<"Saisir la taille de la patiente : ";
        cin>>taille;
    
    Patientes tableau[200];
    
    for (i = 0 ; i < N ; i++)
    {
        tableau[i].nom=nom[20];
        tableau[i].prenom=prenom[20];
        tableau[i].age=age;
        tableau[i].poids=poids;
        tableau[i].taille=taille;
    }
        
    cout<<tableau[i]<<endl;  // Invalid operands to binary expression ('ostream' (aka 'basic_ostream<char>') and 'Patientes')
    
    
    };

  21. #20
    Jack
    Modérateur

    Re : Créer un tableau sur c++

    Il faut un minimum de bon sens pour programmer: tu saisis les informations d'UN SEUL PATIENT et tu veux remplir tout le tableau avec dans ta boucle for.

    Je répète également que char nom; veut dire que le nom est composé d'UN SEUL CARACTERE.

    Ikhar84 vient de te proposer d'utiliser la classe string. C'est une excellente idée et tu devrais en profiter.

    On ne met pas de ; après la dernière accolade.

  22. #21
    Wass06

    Re : Créer un tableau sur c++

    Vous n'avez pas un code/une correction à me proposer pour m'aider à résoudre mon problème ?
    Je pourrais de ce fait étudier chaque ligne et comprendre mes erreurs.

  23. #22
    Ikhar84
    Animateur Informatique

    Re : Créer un tableau sur c++

    Citation Envoyé par Wass06 Voir le message
    Vous n'avez pas un code/une correction à me proposer pour m'aider à résoudre mon problème ?
    Je pourrais de ce fait étudier chaque ligne et comprendre mes erreurs.
    Outre ce qui a déjà été dit, proposer un code tout fait n'est pas la meilleure solution, du moins jusqu'à ce que tu ais avancé un peu...

    Commence par réflechir a ce qui t'est proposé:
    Pourquoi les "champs" nom et prénom de ta structure ne peuvent stocker qu'un seul caractère ?
    Profites en pour regarder ce qu'es un string.
    Pourquoi tu ne saisie qu'une fois les données, mais les "colle" dans toutes les structures de ton tableau ?
    Corrolaire: pourquoi dans un tableau de 200 elements tu ne peux pas parcourir 0 à 200 indices ?

    Quant a l'affichage:
    Ton instruction utilise un i qui n'a aucun sens, sorti du bloc for
    Et même si ton i avait un sens ici, tu demande à afficher une structure "brute" sans l'avoir "formaté" pour l'affichage auparavant, comment veux tu pouvoir l'afficher ?

    Réflechis à ces points et corrige ton code en conséquence, nous pourrons t'aider à aller plus loin, et même te montrer quelques bonnes pratiques de codage, avec un code clean et fonctionnel, l'utilisation de classes plutôt qu'une structure...
    Dernière modification par Ikhar84 ; 26/12/2017 à 00h33. Motif: Fôtes !
    J'ai glissé Chef !

  24. #23
    Bjrn

    Re : Créer un tableau sur c++

    Bonjour à tous !

    Je suis exactement dans le même cas que Wass. J'ai un projet à réaliser en langage c++.
    Je n'ai suivis que quelques cours de c++ qui ne m'aident pas à débuter mon programme.

    Je dois commencer par stocker des données de x patients : à savoir le nom, prénom, l'âge, taille, poids, IMC, le taux de certaines hormones...
    Ces données serviront à poser le diagnostique d'une pathologie.

    Questions
    Pour cela, faut-il commencer par "struct" ?
    Autre question, j'ai compris qu'il fallait utiliser "vector" au lieu de "tableau". Il est donc créer un vecteur par patient ?


    Merci d'avance pour vos réponses, je répète que je débute totalement dans ce langage je vous prie donc de m'excuser si mes explications ne sont pas rigoureuses.

  25. #24
    pm42

    Re : Créer un tableau sur c++

    Citation Envoyé par Bjrn Voir le message
    Je dois commencer par stocker des données de x patients : à savoir le nom, prénom, l'âge, taille, poids, IMC, le taux de certaines hormones...
    Ces données serviront à poser le diagnostique d'une pathologie.
    Pour cela, faut-il commencer par "struct" ?
    Oui. En fait, tu peux imaginer que tu vas faire une fiche patient papier : un formulaire qui contiendrait un champs appelé "nom" , un autre "prénom", etc que le médecin va remplir.
    Une struct : c'est la même chose c'est à dire des champs qu'on regroupe ensemble pour faire un ensemble cohérent, chaque champs a un nom, un type (taille est un entier en cm, nom est une chaine...)

    Citation Envoyé par Bjrn Voir le message
    Autre question, j'ai compris qu'il fallait utiliser "vector" au lieu de "tableau". Il est donc créer un vecteur par patient ?
    Il ne faut pas mais c'est plus simple et flexible : on ne gère pas la taille, elle s'adapte toute seule, on peut facilement effacer, ajouter...

    Mais non, on n'en met pas 1 par patient. On met 1 struct par patient, 1 fiche.
    Et on les met toutes dans le vector qui est l'équivalent de la boite à fiche d'un médecin.

  26. #25
    Bjrn

    Re : Créer un tableau sur c++

    Daccord je pense comprendre, pensez vous que je sois sur la bonne voie ou pas du tout ?


    code
    Code HTML:
    typedef struct
            {
                string nom;
                string prenom;
                int     age ;
                float   taille, poids ;
                char    sexe ;
                
            } Patient;
        
        Patient patientA, patientB, patientC, patientD, patientE ;
        
        patientA.nom='jean';
        patientA.age=35;
        patientA.taille=1.68;
        patientA.poids=67.8;
        patientA.sexe='F';
        
        cout<<"Son age est : "<<patientA.age<<endl; // affiche l'age du patient A par exemple
        cout<<"Son nom est : "<<patientA.nom<<endl;
        
    
        
        return 0;
        
    }

    J'ai un message d'erreur pour le nom...

    Sinon, si je suis sur la bonne voie, alors je peux continuer à faire la même chose pour les autres patients.
    Je suis preneuse de toutes les pistes, et conseils à prendre. N'hésitez pas merci à vous !

  27. #26
    Ikhar84
    Animateur Informatique

    Re : Créer un tableau sur c++

    Citation Envoyé par Bjrn Voir le message
    Bonjour à tous !

    Je suis exactement dans le même cas que Wass. J'ai un projet à réaliser en langage c++.
    Je n'ai suivis que quelques cours de c++ qui ne m'aident pas à débuter mon programme.

    Je dois commencer par stocker des données de x patients : à savoir le nom, prénom, l'âge, taille, poids, IMC, le taux de certaines hormones...
    Ces données serviront à poser le diagnostique d'une pathologie.

    Questions
    Pour cela, faut-il commencer par "struct" ?
    Autre question, j'ai compris qu'il fallait utiliser "vector" au lieu de "tableau". Il est donc créer un vecteur par patient ?


    Merci d'avance pour vos réponses, je répète que je débute totalement dans ce langage je vous prie donc de m'excuser si mes explications ne sont pas rigoureuses.
    Je ne sais si on peut vous aider dans cette discussion ou s'il vaut mieux que vous creez la votre.

    Mais pour commencer, la structure est vraiment une mauvaise idée, on parle de POO, alors autant utiliser des classes/objets, avec des attributs et méthodes bien conçus..
    Une bonne raison ? Ne serait ce que pour la gestion et l'affichage des données...

    Pourquoi utiliser les vecteurs (et autres listes) ?
    Les tableaux sont une structure en mémoire figée et rigide.
    Cela nécessite de connaître précisement la taille maximale que prendra le tableau dès la conception du programme.
    Il faut être vigilant avec les indices (dépassement par exemple dans un des post ci-dessus, la boucle for va de 0 à 200, soit 201 elements, alors que le tableau est déclaré avec 200...).
    Il est relativement difficile de supprimer un element (déplacement de tous les elements n+1 d'une case inférieure), d'en inserer un (encore une histoire de décalage) ou d'en ajouter un (ou garder en memoire un "pointeur" sur la position actuelle ou parcourir jusqu'au dernier element)...
    Il existe bien sûr des techniques plus "dynamiques" (malloc, realloc par exemple...) mais ces techniques sont gourmandes...

    Les "listes" (vector/list) sont des objets conteneur conçu pour cela, il permette de compter les elements, d'en ajouter, inserer, supprimer (...) de façon dynamique, ou d'acceder directement à l'element choisi... grâce à leur méthodes.
    Vector est donc l'objet qui contient la liste des patients (pourquoi un vector par patient ?!? ).

    Le meilleur des conseils reste quand même de vous plonger dans un minimum de cours en ligne ou livres, de tester quelques lignes de code, si problème il y a, postez les et posez des questions précises.

    Edit: grillé..
    Les chaines de caractéres sont entre guillements doubles "..." d'où l'erreur...
    Les caractères isolés entre guillemets simple: 'a'.
    Dernière modification par Ikhar84 ; 27/12/2017 à 18h15.
    J'ai glissé Chef !

  28. #27
    pm42

    Re : Créer un tableau sur c++

    Citation Envoyé par Bjrn Voir le message
    J'ai un message d'erreur pour le nom...
    En C/C++ tu mets de " pour les chaines. ' est réservé pour les caractères.

    Sinon, ton code est pas mal sauf qu'en général, on va éviter de faire patientA, patientB... mais utiliser justement un tableau/vecteur mais tu peux voir ça ensuite.

  29. #28
    pm42

    Re : Créer un tableau sur c++

    Citation Envoyé par Ikhar84 Voir le message
    Mais pour commencer, la structure est vraiment une mauvaise idée, on parle de POO
    Une struct est l'équivalent d'une "case class" en programmation objet. Cela peut être parfaitement adapté et c'est largement plus abordable pour un débutant qu'un objet classique C++ avec getter/setter.

  30. #29
    Bjrn

    Re : Créer un tableau sur c++

    Merci pour le nom cela fonctionne

    Maintenant je dois me focaliser sur les vecteurs, je pense que c'est la meilleure chose à faire d'après vos dires.
    Je me suis documentée sur le net. Je dois donc construire un tableau multidimensionnel avec des vecteurs cad des lignes que je définis au fur et à mesure.

    Mais chaque ligne donnera : nom prénom âge taille poids, etc.
    On aurait donc des entiers ET des chaines de caractères dans une même ligne ?? C'est possible ?

    En d'autres termes, je suis bloquée pour déclarer mon tableau de vecteurs : est-il possible de mettre plusieurs types de variables dans une même ligne ? ou suis-je à coté de la plaque ?

    Merci à vous

  31. #30
    Jack
    Modérateur

    Re : Créer un tableau sur c++

    Pourquoi multidimensionnel? Un vecteur de structures devrait suffire.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Créer un circuit secouru dans le tableau électrique
    Par flash17 dans le forum Bricolage et décoration
    Réponses: 3
    Dernier message: 04/06/2016, 10h55
  2. Créer une prise de courant depuis le tableau électrique (débutante)
    Par Sunflower1977 dans le forum Bricolage et décoration
    Réponses: 7
    Dernier message: 22/09/2014, 18h44
  3. Alimentation d'un tableau divisionnaire depuis tableau principal
    Par wonderfulif dans le forum Bricolage et décoration
    Réponses: 2
    Dernier message: 19/09/2013, 17h22
  4. Réponses: 3
    Dernier message: 31/07/2010, 08h01
  5. Réponses: 1
    Dernier message: 21/09/2009, 16h26