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 :

Exercice sur tableau de structures


Sujet :

C

  1. #1
    Membre à l'essai
    Femme Profil pro
    étudiante a l’école nationale d’ingénieurs de sousse
    Inscrit en
    Mai 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante a l’école nationale d’ingénieurs de sousse
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 12
    Points : 15
    Points
    15
    Par défaut Exercice sur tableau de structures
    Bonjour
    pourquoi la fonction afficher fait l'affichage du premier élément de tableau t et après le programme se plane ?

    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
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    typedef struct
    {
    int code ;
    char paysdest[20];
    float prix;
    }vol;
    vol* chargement(int n)
    {
        vol* t;
        int i;
        t=(vol*)malloc(n*sizeof(vol));
        for(i=0;i<n;i++)
        {
            printf("vol %d\n ",i);
            printf("code :\n");
            scanf("%d",&(t+i)->code);
            printf("pays de destination:\n");
            scanf("%s",&(t+i)->paysdest);
            printf("prix:\n");
            scanf("%f",&(t+i)->prix);
        }
       return (t);
    }
     void afficher( vol* t , int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            printf("affichage de %d vol\n",i);
            printf(" code %d \n",(t+i)->code);
            printf(" pays destination %s\n",(t+i)->paysdest);
            printf(" prix %f\n",(t+i)->prix);
        }
    }
     
    int compter(vol* t, int n, char dest[20])
    {
        int nb=0,i;
        for(i=0;i<n;i++)
        {
            if(strcmp((t+i)->paysdest,dest)==0)
     
    {
         nb=nb+1;
    }
     
        }
     
     
        return nb;
    }
     
     
    void main()
    {
        int n,nb;
        vol*t;
        char pays[20];
        do
     
        {
            printf("donner le nombre de vol \n");
            scanf("%d",&n);
     
        }
    while((n<=2)||(n>=10));
    t=chargement(n);
    printf("donner un pays \n");
    scanf("%s",&pays);
    nb=compter(t,n,pays);
    printf("le nombre de vol correspond a ce pays  est %d \n",nb);
    afficher(t,n);
    getch();
    }

  2. #2
    Membre actif
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    70
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 70
    Points : 204
    Points
    204
    Par défaut
    Bonjour et merci de regarder pour un abonnement commentaire en illimité c'est gratuit et super pratique !

    voici ma lecture sur la première fonction :
    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
     
     
    vol* chargement(int n)
    {
        vol* t;
        int i;
        t=(vol*)malloc(sizeof(vol));//tu initialise UN bloc de la taille d'UNE structure vol => malloc(n*sizeof(vol)) ??
        for(i=0;i<n;i++)
        {
            printf("vol %d\n ",i);
            printf("code :\n");
            scanf("%d",&(t+i)->code);//erreur si tu ne fais pas pas un autre malloc
     
            printf("pays de destination:\n");
            scanf("%s",&(t+i)->paysdest);
            printf("prix:\n");
            scanf("%f",&(t+i)->prix);
        }
       return (t);
    }

  3. #3
    Membre à l'essai
    Femme Profil pro
    étudiante a l’école nationale d’ingénieurs de sousse
    Inscrit en
    Mai 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante a l’école nationale d’ingénieurs de sousse
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 12
    Points : 15
    Points
    15
    Par défaut
    merciii neuneutrinos

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

Discussions similaires

  1. Exercice sur tableau trié dynamique
    Par Johnny P. dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 08/07/2011, 07h36
  2. JNA pointeur sur tableau de structure
    Par NyTR0 x dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 30/12/2009, 17h43
  3. Pointeur sur tableau de structure
    Par Mercenary Developer dans le forum Débuter
    Réponses: 3
    Dernier message: 22/09/2008, 08h35
  4. memcpy sur tableau de structure
    Par htristra dans le forum C
    Réponses: 8
    Dernier message: 05/08/2006, 01h22
  5. [VB6]Tri multi-colonnes sur tableau de structure
    Par ELGUEVEL dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/02/2006, 08h02

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