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 :

Tableau de n structures


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 18
    Par défaut Tableau de n structures
    Bonjour à tous

    Voilà j'écrivais un code qui permet de saisir et d'afficher un tableau de n article mais le compilateur n'arrête pas de dire que j'ai fait une erreur à la ligne 24

    voici le message d'erreur :
    cast vers le type "article [i]" non autoriséC/C++(119)
    Voici le code
    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
    #include<stdio.h>
    typedef struct {
        char libelle[50];
        int prixUnitaire, quantité;
    }article;
     
    int main(int argc, char const *argv[])
    {
        printf("Ce programme permet de saisir et d'afficher un tableau de n article\n");
        printf("Veuilllez saisir le nombre d'article de votre tableau\n");
        int n;
        scanf("%d",&n);
        for (int i = 1; i < n+1; i++)
        {
            article article[i];
            printf("Veuillez saisir le libellé, le prix unitaire et la quantité de votre %déme article\n",i);
            scanf("%s",article[i].libelle);
            scanf("%d",&article[i].prixUnitaire);
            scanf("%d",&article[i].quantité);
     
        }
        printf("article\t libellé\tprix unitaire\t quantité\n");
        for (int i = 1; i < n+1; i++)
        {
            printf("article[%d]\t%s\t%d\t%d\n", i, (article[i]).libelle, article[i].prixUnitaire, article[i].quantité);
        } 
     
        return 0;
    }

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par tahiratou Voir le message
    mais le compilateur n'arrête pas de dire que j'ai fait une erreur à la ligne 24
    S'il le dit, il a probablement raison.

    Citation Envoyé par tahiratou Voir le message
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    printf("Veuilllez saisir le nombre d'article de votre tableau\n");
    int n;
    scanf("%d",&n);
    for (int i = 1; i < n+1; i++)
    Etant donné qu'en C les indices d'un tableau vont de 0 à n-1, ça commence bien...

    Citation Envoyé par tahiratou Voir le message
    article article[i]
    Mis à part le fait que tu crées un tableau de même nom que ton type (c'est pour ça qu'il est conseillé de partout de nommer ses types "t_xxx" !!!), tu tentes de faire quoi ici ? Redéclarer un nouveau tableau à chaque nouveau "i" ??? Faire un programme c'est aussi réfléchir !!!

    Citation Envoyé par tahiratou Voir le message
    }
    Fin de bloc, les variables définies dans le bloc sont perdues. Fatalement quand tu veux afficher un tableau qui n'existe plus dans la boucle suivante...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 18
    Par défaut
    Enfaîte l'exo demande d’écrire un programme qui permet de saisir un tableau de n articles contenant chacun un libellé, prix unitaire et quantité et je viens de débuter avec les structures donc si vous pouvez m'expliquer un peu

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tahiratou Voir le message
    et je viens de débuter avec les structures donc si vous pouvez m'expliquer un peu ...
    Ton souci ne vient pas des structures (car il n'y a pas d'erreur dans les instructions les concernant) mais de la façon que tu as d'utiliser un tableau (toutes mes remarques et questions, auxquelles tu n'as pas répondu, ne concernaient que ton tableau). Donc commence par faire le boulot sur un tableau d'ints. Quand ton programme fonctionnera, que tu pourras faire saisir "n" int et les afficher, suffira de changer les int par des structures et le programme marchera tout pareil.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 18
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    S'il le dit, il a probablement raison.


    Etant donné qu'en C les indices d'un tableau vont de 0 à n-1, ça commence bien...


    Mis à part le fait que tu crées un tableau de même nom que ton type (c'est pour ça qu'il est conseillé de partout de nommer ses types "t_xxx" !!!), tu tentes de faire quoi ici ? Redéclarer un nouveau tableau à chaque nouveau "i" ???
    Je tente de créer des structures de type article que je vais nommer à chaque fois article1, article2, … articlen

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tahiratou Voir le message
    Oui j’ai même déjà fait des codes avec des tableaux
    Donc tu sais créer un tableau !!!

    Citation Envoyé par tahiratou Voir le message
    Je tente de créer des structures de type article que je vais nommer à chaque fois article1, article2, … articlen
    Donc tu crées UN tableau, chose que tu sais à priori faire, et non pas n tableaux. Il n'y a aucune différence entre un tableau d'int et un tableau de structures.

    Citation Envoyé par tahiratou Voir le message
    Mon problème c’est que je ne sais même pas l’erreur que j’ai fait et j’ai pas bien compris ceux que vous expliquer
    Le code que tu as écrit

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Remplissage
    for (...) { // Début de bloc
    	Déclaration tableau
    } // Fin du bloc, le tableau n'existe plus puisqu'il a été créé dans le bloc
     
    // Affichage
    for (...) {
    	Affichage du tableau qui n-existe plus
    }

    Donc comme je te l'ai dit, ton souci ne vient pas des structures. Et donc là encore comme je l'ai dit aussi, commence par faire le travail avec un tableau d'ints et ensuite tu pourras changer les int par ta structure.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 18
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Donc tu sais créer un tableau !!!


    Donc tu crées UN tableau, chose que tu sais à priori faire, et non pas n tableaux. Il n'y a aucune différence entre un tableau d'int et un tableau de structures.


    Le code que tu as écrit

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Remplissage
    for (...) { // Début de bloc
    	Déclaration tableau
    } // Fin du bloc, le tableau n'existe plus puisqu'il a été créé dans le bloc
     
    // Affichage
    for (...) {
    	Affichage du tableau qui n-existe plus
    }
    Anh oui je crois comprendre ce que vous expliquer;
    Mais je sais pas comment je dois faire pour déclarer un tableau de structure sans le faire dans le bloc

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tahiratou Voir le message
    Mais je sais pas comment je dois faire pour déclarer un tableau de structure sans le faire dans le bloc
    Ben... le déclarer hors du bloc !!!
    Comme je te l'ai déjà dit, fais l'exercice avec un tableau d'int. Ensuite on remplacera "int" par "ta_structure" et il marchera tout pareil (faudra un peu changer la saisie et l'affichage mais ça reste du détail).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 18
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    S'il le dit, il a probablement raison.


    Etant donné qu'en C les indices d'un tableau vont de 0 à n-1, ça commence bien...
    Là c’est parce que je voulais à l’affichage que ça soit commence par article1 au lieu de article0 mais j’ai changé cela

  10. #10
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2022
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 18
    Par défaut
    Oui j’ai même déjà fait des codes avec des tableaux
    Mon problème c’est que je ne sais même pas l’erreur que j’ai fait et j’ai pas bien compris ceux que vous expliquer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/09/2007, 15h58
  2. Tableau dans une structure
    Par Elstak dans le forum C
    Réponses: 3
    Dernier message: 25/04/2007, 11h45
  3. manipulation d'un tableau d'une structure de donnee
    Par questionvb dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/03/2007, 14h02
  4. tableau d'éléments structurés?
    Par eultartuffe dans le forum Delphi
    Réponses: 7
    Dernier message: 05/10/2006, 21h51
  5. Tableau dynamique de structures
    Par beb30 dans le forum C
    Réponses: 13
    Dernier message: 29/04/2006, 12h41

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