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 :

Chargement de données


Sujet :

C

  1. #1
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Points : 109
    Points
    109
    Par défaut Chargement de données
    Bonjour,

    je sollicite votre aide pour me charger un fichier texte sous la forme suivante :

    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
    8	1	48	4	4	1
    8000	35	20	200
    3500
    5200
    6400
    7000
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    0	4.163	13.559	0	0	0	0	1000	50	20	1000	
    1	21.387	17.105	0	0	0	0	1000	60	17	1000
    2	-36.118	49.097	0	0	0	0	1000	70	15	1000
    3	-31.201	0.235	0	0	0	0	1000	80	13	1000
    4	-29.73	64.136	2	12	4	354	509
    5	-30.664	5.463	7	8	4	234	401
    6	51.642	5.469	21	16	4	411	573
    7	-13.171	69.336	24	5	4	474	622
    8	-67.413	68.323	1	12	4	155	295
    9	48.907	6.274	17	5	4	361	509
    10	5.243	22.26	6	13	4	451	629
    11	-65.002	77.234	5	20	4	425	588
    12	-4.175	-1.569	7	13	4	72	199
    13	23.029	11.639	1	18	4	157	318
    14	25.482	6.287	4	7	4	296	444
    15	-42.615	-26.392	10	6	4	111	249
    16	-76.672	99.341	2	9	2	368	528
    17	-20.673	57.892	16	9	2	98	251
    18	-52.039	6.567	23	4	2	96	208
    19	-41.376	50.824	18	25	2	382	535
    20	-91.943	27.588	3	5	2	436	580
    21	-65.118	30.212	15	17	2	405	528
    22	18.597	96.716	13	3	2	255	414
    23	-40.942	83.209	10	16	2	293	470
    24	-37.756	-33.325	4	25	2	298	408
    25	23.767	29.083	23	21	2	479	607
    26	-43.03	20.453	20	14	2	376	536
    27	-35.297	-24.896	10	19	2	91	238
    28	-54.755	14.368	4	14	1	360	505
    29	-49.329	33.374	2	6	1	379	528
    30	57.404	23.822	23	16	1	258	428
    31	-22.754	55.408	6	9	1	352	509
    32	-56.622	73.34	8	20	1	288	380
    33	-38.562	-3.705	10	13	1	159	324
    34	-16.779	19.537	7	10	1	423	564
    35	-11.56	11.615	1	16	1	238	387
    36	-46.545	97.974	21	19	1	339	429
    37	16.229	9.32	6	22	1	397	572
    38	1.294	7.349	4	14	1	479	599
    39	-26.404	29.529	13	10	1	315	492
    40	4.352	14.685	9	11	1	132	290
    41	-50.665	-23.126	22	15	1	161	326
    42	-22.833	-9.814	22	13	1	387	508
    43	-71.1	-18.616	18	15	1	284	446
    44	-7.849	32.074	10	8	1	296	471
    45	11.877	-24.933	25	22	1	381	482
    46	-18.927	-23.73	23	24	1	401	522
    47	-11.92	11.755	4	3	1	432	564
    48	29.84	11.633	9	25	1	289	450
    49	12.268	-55.811	17	19	1	451	597
    50	-37.933	-21.613	10	21	1	123	302
    51	42.883	-2.966	17	10	1	98	233
    j'ai crée un code qui permet de lire que cette matrice :

    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
    0	4.163	13.559	0	0	0	0	1000		
    1	21.387	17.105	0	0	0	0	1000	
    2	-36.118	49.097	0	0	0	0	1000	
    3	-31.201	0.235	0	0	0	0	1000		
    4	-29.73	64.136	2	12	4	354	509
    5	-30.664	5.463	7	8	4	234	401
    6	51.642	5.469	21	16	4	411	573
    7	-13.171	69.336	24	5	4	474	622
    8	-67.413	68.323	1	12	4	155	295
    9	48.907	6.274	17	5	4	361	509
    10	5.243	22.26	6	13	4	451	629
    11	-65.002	77.234	5	20	4	425	588
    12	-4.175	-1.569	7	13	4	72	199
    13	23.029	11.639	1	18	4	157	318
    14	25.482	6.287	4	7	4	296	444
    15	-42.615	-26.392	10	6	4	111	249
    16	-76.672	99.341	2	9	2	368	528
    17	-20.673	57.892	16	9	2	98	251
    18	-52.039	6.567	23	4	2	96	208
    19	-41.376	50.824	18	25	2	382	535
    20	-91.943	27.588	3	5	2	436	580
    21	-65.118	30.212	15	17	2	405	528
    22	18.597	96.716	13	3	2	255	414
    23	-40.942	83.209	10	16	2	293	470
    24	-37.756	-33.325	4	25	2	298	408
    25	23.767	29.083	23	21	2	479	607
    26	-43.03	20.453	20	14	2	376	536
    27	-35.297	-24.896	10	19	2	91	238
    28	-54.755	14.368	4	14	1	360	505
    29	-49.329	33.374	2	6	1	379	528
    30	57.404	23.822	23	16	1	258	428
    31	-22.754	55.408	6	9	1	352	509
    32	-56.622	73.34	8	20	1	288	380
    33	-38.562	-3.705	10	13	1	159	324
    34	-16.779	19.537	7	10	1	423	564
    35	-11.56	11.615	1	16	1	238	387
    36	-46.545	97.974	21	19	1	339	429
    37	16.229	9.32	6	22	1	397	572
    38	1.294	7.349	4	14	1	479	599
    39	-26.404	29.529	13	10	1	315	492
    40	4.352	14.685	9	11	1	132	290
    41	-50.665	-23.126	22	15	1	161	326
    42	-22.833	-9.814	22	13	1	387	508
    43	-71.1	-18.616	18	15	1	284	446
    44	-7.849	32.074	10	8	1	296	471
    45	11.877	-24.933	25	22	1	381	482
    46	-18.927	-23.73	23	24	1	401	522
    47	-11.92	11.755	4	3	1	432	564
    48	29.84	11.633	9	25	1	289	450
    49	12.268	-55.811	17	19	1	451	597
    50	-37.933	-21.613	10	21	1	123	302
    51	42.883	-2.966	17	10	1	98	233
    le code crée :

    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
    #include<stdio.h>
    #include<stdlib.h>
     
    typedef struct noeud noeud;
    struct noeud{
       int identifiant;                                      /*numero du client*/
       double abscisse;                                      /*abscisse du client i */
       double ordonee;                                       /*ordonnee du client i */
       int demande;                                          /*demande du client*/
       int frequence;                                        /*frequence de visite du client */
       int temps_service;                                    /*temps de service du client i */
       int borne_inf_tw;                                     /*début de la fenetre du temps du client i */                                 
       int borne_sup_tw;                                     /*fin de la fenetre du temps du client i */
       struct noeud *suivant;
     
    };
     
    typedef noeud* llist;
     
    llist ajouter_noeud(llist liste,int id,double abs,double ord,int dde,int frq, int tps_service,int b_inf_tw,int b_sup_tw)
    {
       noeud* nouveau = (noeud*) malloc(sizeof(noeud));
       nouveau->identifiant = id;
       nouveau->abscisse = abs;
       nouveau->ordonee = ord;
       nouveau->demande = dde;
       nouveau->frequence = frq;
       nouveau->temps_service = tps_service;
       nouveau->borne_inf_tw = b_inf_tw;
       nouveau->borne_sup_tw = b_sup_tw;
       nouveau->suivant = liste;
     
       return nouveau;
    }
     
    void afficher_liste(llist liste)
    {
       noeud *p = liste;
       printf("contenu de la liste\n");
       while(p!= NULL)
       {
          printf("%d %lf %lf %d %d %d %d %d\n",p->identifiant,p->abscisse,p->ordonee,p->demande,p->frequence, p->temps_service,p->borne_inf_tw,p->borne_sup_tw);
          p = p->suivant;
       }
    }
    int main (void)
    {
       llist ma_liste = NULL;
       int id;
       double abs;
       double ord;
       int dde;
       int frq;
       int tps_service;            
       int b_inf_tw;
       int b_sup_tw;
       int i;
       int j;
       FILE *fp;
     
       if(ma_liste!= NULL)
          printf("la liste est non vide \n");
       fp = fopen("D:\data.txt", "r");
    	if(fp == NULL)
    	{
    		printf("Impossible d'ouvrir fichier donnees .txt \n");
    		exit (-1);
    	}
    	for(i=0;i<52;i++){
       fscanf(fp,"%d %lf %lf %d %d %d %d %d\n",&id,&abs,&ord,&dde,&frq,&tps_service,&b_inf_tw,&b_sup_tw);
       ma_liste=ajouter_noeud(ma_liste,id,abs,ord,dde,frq,tps_service,b_inf_tw,b_sup_tw);
     
     
     
       }
     
       afficher_liste(ma_liste);
       fclose (fp);
     
       getchar();
       return EXIT_SUCCESS;
     
    }
    je cherche à charger les autres lignes et colonnes du fichier 1.
    merci pour vos aides.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Avec ce que tu as déjà codé, tu peux récupérer sans problème la première partie. Quel est ton problème ?

  3. #3
    Membre du Club
    Homme Profil pro
    etudiant ingénieur
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : etudiant ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Points : 50
    Points
    50
    Par défaut rep
    j'arrive pas a saisir le probleme
    est que tu veux:
    recuperer le contenu du fichier,
    le copier dans un autre fichier ou bien faire un traitement special?

  4. #4
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    De ce que je comprends, tu n'arrives pas à lire les cases vides.
    Est-ce le problème ?
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  5. #5
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Points : 109
    Points
    109
    Par défaut
    Je vous remercie pour vos réponses, toutefois mon problème est comment charger les premiers lignes du fichier :

    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
    8	1	48	4	4	1
    8000	35	20	200
    3500
    5200
    6400
    7000
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    j'ai rajouté qq structures % au premier code, le voici :

    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    #include<stdio.h>
    #include<stdlib.h>
     
    typedef struct client client;
    struct client {
           int type;                                         /*type MDIRPTW*/
           int nbr_vehicules;                                /*nombre de vehicules*/
           int nbr_clients;                                  /*nombre de clients*/
           int nbr_periodes;                                 /*nombre de periodes*/
           int nbr_depots;                                   /*nombre de depots*/
           int nbr_usine;                                    /*nombre d'usines*/
           struct client *suiv;                              
           };
     
    typedef struct noeud noeud;
    struct noeud {
       int identifiant;                                      /*numero du client*/
       double abscisse;                                      /*abscisse du client i */
       double ordonee;                                       /*ordonnee du client i */
       int demande;                                          /*demande du client*/
       int frequence;                                        /*frequence de visite du client */
       int temps_service;                                    /*temps de service du client i */
       int borne_inf_tw;                                     /*début de la fenetre du temps du client i */                                 
       int borne_sup_tw;                                     /*fin de la fenetre du temps du client i */
       struct noeud *suivant;
     
    };
     
    typedef struct usine1 usine1;
    struct usine1{
           int cap_usine;                                    /*capacite de l'usine*/
           int cout_poss;                                    /*cout de possession de l'usine*/
           int cout_rup_stock;                               /*cout de rupture de stock de l'usine*/
           int cout_stock_sec;                               /*cout de stock de securite de l'usine*/
           struct usine1 *suiva;
     
    };
     
    typedef struct usine2 usine2;
    struct usine2{
           int dem_jour;                                     /* demande journalière de l'usine pour chaque période*/
           struct usine2 *suivan;
     
    };
     
    typedef client* llist;
     
    llist ajouter_client(llist liste,int type, int nbr_v, int nbr_c, int nbr_t, int nbr_d, int nbr_u)
    {
       client* nouveau = (client*) malloc(sizeof(client));
       nouveau->type = type;
       nouveau->nbr_vehicules = nbr_v;
       nouveau->nbr_clients = nbr_c;
       nouveau->nbr_periodes = nbr_t;
       nouveau->nbr_depots = nbr_d;
       nouveau->nbr_usine = nbr_u;
       nouveau->suiv = liste;
       return nouveau;
    };
     
     
    typedef usine1* liste_1;
     
    liste_1 ajouter_usine1(liste_1 liste,int cu, int cp, int crs, int css)
    {
       usine1* nouve = (usine1*) malloc(sizeof(usine1));
       nouve->cap_usine = cu;
       nouve->cout_poss = cp;
       nouve->cout_rup_stock = crs;
       nouve->cout_stock_sec = css;
       nouve->suiva = liste;
     
       return nouve;
    };
     
    typedef usine2* liste_2;
     
    liste_2 ajouter_usine2(liste_2 liste,int dj)
    {
       usine2* nouvea = (usine2*) malloc(sizeof(usine2));
       nouvea->dem_jour = dj;
       nouvea->suivan = liste;
     
       return nouvea;
    };
     
     
    typedef noeud* laste;
     
    laste ajouter_noeud(laste liste,int id,double abs,double ord,int dde,int frq, int tps_service,int b_inf_tw,int b_sup_tw)
    {
       noeud* nouv = (noeud*) malloc(sizeof(noeud));
       nouv->identifiant = id;
       nouv->abscisse = abs;
       nouv->ordonee = ord;
       nouv->demande = dde;
       nouv->frequence = frq;
       nouv->temps_service = tps_service;
       nouv->borne_inf_tw = b_inf_tw;
       nouv->borne_sup_tw = b_sup_tw;
       nouv->suivant = liste;
     
       return nouv;
    };
     
     
     
     
     
    void afficher_liste(llist liste)
    {
       client *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d %d %d %d %d\n",p->type,p->nbr_vehicules,p->nbr_clients,p->nbr_periodes,p->nbr_depots, p->nbr_usine);
          p = p->suiv;
       }
    }
     
    void afficher_liste_1(liste_1 liste)
    {
       usine1 *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d %d %d\n",p->cap_usine,p->cout_poss,p->cout_rup_stock,p->cout_stock_sec);
          p = p->suiva;
       }
    }
     
    void afficher_liste_2(liste_2 liste)
    {
       usine2 *p = liste;
     
       while(p!= NULL)
       {
          printf("%d\n",p->dem_jour);
          p = p->suivan;
       }
    }
     
     
    void afficher_laste(laste liste)
    {
       noeud *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %lf %lf %d %d %d %d %d\n",p->identifiant,p->abscisse,p->ordonee,p->demande,p->frequence, p->temps_service,p->borne_inf_tw,p->borne_sup_tw);
          p = p->suivant;
       }
    }
     
     
     
    int main (void)
    {
       llist ma_liste = NULL;
       laste ma_laste = NULL;
       liste_1 ma_liste_1 = NULL;
       liste_2 ma_liste_2 = NULL;
       int id;
       int k;
       int l;
       int dj;
       double abs;
       double ord;
       int dde;
       int frq;
       int tps_service;            
       int b_inf_tw;
       int b_sup_tw;
       int i;
       int j;
       int type;
       int nbr_v, nbr_c, nbr_d, nbr_u, nbr_t;
       int cu,cp,crs,css;
       FILE *fp;
     
       if(ma_liste!= NULL)
          printf("la liste est non vide \n");
       fp = fopen("D:\donne.txt", "r");
    	if(fp == NULL)
    	{
    		printf("Impossible d'ouvrir fichier donnees .txt \n");
    		exit (-1);
    	}
     
       for(j=0;j<1;j++){
       fscanf(fp,"%d %d %d %d %d %d\n",&type,&nbr_v,&nbr_c,&nbr_t,&nbr_d,&nbr_u);
       ma_liste=ajouter_client(ma_liste,type,nbr_v,nbr_c,nbr_t,nbr_d,nbr_u);
     
       for(k=2;k<3;k++){
       fscanf(fp,"%d %d %d %d\n",&cu,&cp,&crs,&css);
       ma_liste_1=ajouter_usine1(ma_liste_1,cu,cp,crs,css);
     
       for(l=3;l<7;l++){
       fscanf(fp,"%d \n",&dj);
       ma_liste_2=ajouter_usine2(ma_liste_2,dj);
     
       for(i=7;i<59;i++){
       fscanf(fp,"%d %lf %lf %d %d %d %d %d\n",&id,&abs,&ord,&dde,&frq,&tps_service,&b_inf_tw,&b_sup_tw);
       ma_laste=ajouter_noeud(ma_laste,id,abs,ord,dde,frq,tps_service,b_inf_tw,b_sup_tw);
     
     
       }
       printf("contenu de la liste\n");
       afficher_liste(ma_liste);
       fclose (fp);
     
       afficher_liste_1(ma_liste_1);
       fclose (fp);
     
       afficher_liste_2(ma_liste_2);
       fclose (fp);
     
       afficher_laste(ma_laste);
       fclose (fp);
     
       getchar();
       return EXIT_SUCCESS;
     
       }
       }
       }
    }
    le copier dans un autre fichier ou bien faire un traitement special?
    j'ai besoin de charger le fichier texte sous c, c'est tout.

    mon problème actuel est comment charger les données de ces colonnes :

    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
    3500
    5200
    6400
    7000
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    500	200
    merci.

  6. #6
    Membre du Club
    Homme Profil pro
    etudiant ingénieur
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : etudiant ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Points : 50
    Points
    50
    Par défaut rep
    bah si tu veux recuperer le contenu du fichier tu n a pas a utilise toutes ses structures
    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
     
    char nom_fichier[20]="fichier sourc";
    typedef struct uneligne{
    float c1;
    float c2;
    float c3;
    float c4;
    float c5;
    float c6:
    float c7;
    float cham8;}ligne;//ici si tu es sur que le fichier existe on va pass directement a l extraction des informations
    typedef struct list {ligne val;
    struct list *suivant;}list;
    list *lire()
    {list *l,*pc;
    lign a;
    pc=l=NULL;
    FILE *fichier =fopen(nom_fichier,"r");
    while(!feof(fichier))
     
    	{
    		    pc=(cellule *)malloc(sizeof(cellule));
    			fscanf(fichier,"%f\t",&pc->val.c1);
    			fscanf(fichier,"%f\t",&pc->val.c2);
    			fscanf(fichier,"%f\t",&pc->val.c3);
    			fscanf(fichier,"%f\t",&pc->val.c4);
    			fscanf(fichier,"%f\t",&pc->val.c5);
    			fscanf(fichier,"%f\t",&pc->val.c6);
    			fscanf(fichier,"%f\t",&pc->val.c7);
    			fscanf(fichier,"%f\t",&pc->val.c8);
    pc->suivant=l;		
    l=pc;}
    return l;}
    par ce code la liste l contien tout le fichier chaque ligne dans un maillon
    coordinalement;

  7. #7
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Points : 109
    Points
    109
    Par défaut réponse
    bah si tu veux recuperer le contenu du fichier tu n a pas a utilise toutes ses structures
    Je suis très reconnaissant d'avoir vu ta réponse, en fait j'étais pas trop clair dans mon premier message. j'ai besoin d'utiliser les structures et les stocker dans une liste chaînée car par la suite j'aurai besoin de lire n'importe quelle donnée du fichier source. ce qui fait l'utilisation des structures est indispensable pour grouper les données dont j'ai besoin..
    je vous remercie pour votre collaboration. j'en ai vraiment besoin de vous pour récupérer les données sous la forme des structures.

  8. #8
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Points : 109
    Points
    109
    Par défaut CODE
    le voici le code avec toutes les structures. j'ai un problème avec les résultats affichés. je vous remercie de jeter un coup d'oeil pour le corriger :

    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
    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    #include<stdio.h>
    #include<stdlib.h>
     
    typedef struct client client;
    struct client {
           int type;                                         /*type MDIRPTW*/
           int nbr_vehicules;                                /*nombre de vehicules*/
           int nbr_clients;                                  /*nombre de clients*/
           int nbr_periodes;                                 /*nombre de periodes*/
           int nbr_depots;                                   /*nombre de depots*/
           int nbr_usine;                                    /*nombre d'usines*/
           struct client *suiv;                              
           };
     
    typedef struct usine1 usine1;
    struct usine1{
           int cap_usine;                                    /*capacite de l'usine*/
           int cout_poss;                                    /*cout de possession de l'usine*/
           int cout_rup_stock;                               /*cout de rupture de stock de l'usine*/
           int cout_stock_sec;                               /*cout de stock de securite de l'usine*/
           struct usine1 *suiva;
     
    };
     
    typedef struct usine2 usine2;
    struct usine2{
           int dem_jour;                                     /* demande journalière de l'usine pour chaque période*/
           struct usine2 *suivan;
     
    };
     
    typedef struct vehicule vehicule;
    struct vehicule{
           int auton_max;                                    /* autonomie du stransport*/
           int capa_vehicule;                                /* capacite du vehicule*/
           struct vehicule *sui;
     
    };
     
    typedef struct depot depot;
    struct depot{
       int identifiant;                                      /*numero du client*/
       double abscisse;                                      /*abscisse du client i */
       double ordonee;                                       /*ordonnee du client i */
       int demande;                                          /*demande du client*/
       int frequence;                                        /*frequence de visite du client */
       int temps_service;                                    /*temps de service du client i */
       int borne_inf_tw;                                     /*début de la fenetre du temps du client i */                                 
       int borne_sup_tw;                                     /*fin de la fenetre du temps du client i */
       int cout_uni_liv;                                     /*cout unitaire de livraison*/
       int cout_uni_st;                                     /*cout unitaire de stockage */
       int capa_depot;                                       /*capacite du depot */
       struct depot *suivantt;
     
    };
     
    typedef struct noeud noeud;
    struct noeud {
       int identifiant;                                      /*numero du client*/
       double abscisse;                                      /*abscisse du client i */
       double ordonee;                                       /*ordonnee du client i */
       int demande;                                          /*demande du client*/
       int frequence;                                        /*frequence de visite du client */
       int temps_service;                                    /*temps de service du client i */
       int borne_inf_tw;                                     /*début de la fenetre du temps du client i */                                 
       int borne_sup_tw;                                     /*fin de la fenetre du temps du client i */
       struct noeud *suivant;
     
    };
     
     
     
    typedef client* llist;
     
    llist ajouter_client(llist liste,int type, int nbr_v, int nbr_c, int nbr_t, int nbr_d, int nbr_u)
    {
       client* nouveau = (client*) malloc(sizeof(client));
       nouveau->type = type;
       nouveau->nbr_vehicules = nbr_v;
       nouveau->nbr_clients = nbr_c;
       nouveau->nbr_periodes = nbr_t;
       nouveau->nbr_depots = nbr_d;
       nouveau->nbr_usine = nbr_u;
       nouveau->suiv = liste;
       return nouveau;
    };
     
     
    typedef usine1* liste_1;
     
    liste_1 ajouter_usine1(liste_1 liste,int cu, int cp, int crs, int css)
    {
       usine1* nouve = (usine1*) malloc(sizeof(usine1));
       nouve->cap_usine = cu;
       nouve->cout_poss = cp;
       nouve->cout_rup_stock = crs;
       nouve->cout_stock_sec = css;
       nouve->suiva = liste;
     
       return nouve;
    };
     
    typedef usine2* liste_2;
     
    liste_2 ajouter_usine2(liste_2 liste,int dj)
    {
       usine2* nouvea = (usine2*) malloc(sizeof(usine2));
       nouvea->dem_jour = dj;
       nouvea->suivan = liste;
     
       return nouvea;
    };
     
    typedef vehicule* liste_3;
     
    liste_3 ajouter_vehicule(liste_3 liste,int T_max, int Q)
    {
       vehicule* nouvv = (vehicule*) malloc(sizeof(vehicule));
       nouvv->auton_max = T_max;
       nouvv->capa_vehicule = Q;
       nouvv->sui = liste;
     
       return nouvv;
    };
     
    typedef depot* liste_4;
     
    liste_4 ajouter_depot(liste_4 liste,int id,double abs,double ord,int dde,int frq, int tps_service,int b_inf_tw,int b_sup_tw, int cu_liv, int cu_st, int cap_d)
    {
       depot* nouvvv = (depot*) malloc(sizeof(depot));
       nouvvv->identifiant = id;
       nouvvv->abscisse = abs;
       nouvvv->ordonee = ord;
       nouvvv->demande = dde;
       nouvvv->frequence = frq;
       nouvvv->temps_service = tps_service;
       nouvvv->borne_inf_tw = b_inf_tw;
       nouvvv->borne_sup_tw = b_sup_tw;
       nouvvv->cout_uni_liv = cu_liv;
       nouvvv->cout_uni_st = cu_st;
       nouvvv->capa_depot = cap_d;
       nouvvv->suivantt = liste;
     
       return nouvvv;
    };
     
    typedef noeud* laste;
     
    laste ajouter_noeud(laste liste,int id,double abs,double ord,int dde,int frq, int tps_service,int b_inf_tw,int b_sup_tw)
    {
       noeud* nouv = (noeud*) malloc(sizeof(noeud));
       nouv->identifiant = id;
       nouv->abscisse = abs;
       nouv->ordonee = ord;
       nouv->demande = dde;
       nouv->frequence = frq;
       nouv->temps_service = tps_service;
       nouv->borne_inf_tw = b_inf_tw;
       nouv->borne_sup_tw = b_sup_tw;
       nouv->suivant = liste;
     
       return nouv;
    };
                                                          /**************************************
                                                                 affichage des résultats
                                                          **************************************/
     
    void afficher_liste(llist liste)
    {
       client *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d %d %d %d %d\n",p->type,p->nbr_vehicules,p->nbr_clients,p->nbr_periodes,p->nbr_depots, p->nbr_usine);
          p = p->suiv;
       }
    }
     
    void afficher_liste_1(liste_1 liste)
    {
       usine1 *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d %d %d\n",p->cap_usine,p->cout_poss,p->cout_rup_stock,p->cout_stock_sec);
          p = p->suiva;
       }
    }
     
    void afficher_liste_2(liste_2 liste)
    {
       usine2 *p = liste;
     
       while(p!= NULL)
       {
          printf("%d\n",p->dem_jour);
          p = p->suivan;
       }
    }
     
    void afficher_liste_3(liste_3 liste)
    {
       vehicule *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d \n",p->auton_max,p->capa_vehicule);
          p = p->sui;
       }
    }
     
    void afficher_liste_4(liste_4 liste)
    {
       depot *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %lf %lf %d %d %d %d %d %d %d %d\n",p->identifiant,p->abscisse,p->ordonee,p->demande,p->frequence, p->temps_service,p->borne_inf_tw,p->borne_sup_tw, p->cout_uni_liv, p->cout_uni_st, p->capa_depot);
          p = p->suivantt;
       }
    }
     
    void afficher_laste(laste liste)
    {
       noeud *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %lf %lf %d %d %d %d %d\n",p->identifiant,p->abscisse,p->ordonee,p->demande,p->frequence, p->temps_service,p->borne_inf_tw,p->borne_sup_tw);
          p = p->suivant;
       }
    }
     
     
     
    int main (void)
    {
       llist ma_liste = NULL;
       laste ma_laste = NULL;
       liste_1 ma_liste_1 = NULL;
       liste_2 ma_liste_2 = NULL;
       liste_3 ma_liste_3 = NULL;
       liste_4 ma_liste_4 = NULL;
       int id;
       int k;
       int l;
       int m;
       int Q;
       int T_max;
       int dj;
       int cu_liv;
       int cu_st;
       int cap_d;
       int n;
       double abs;
       double ord;
       int dde;
       int frq;
       int tps_service;            
       int b_inf_tw;
       int b_sup_tw;
       int i;
       int j;
       int type;
       int nbr_v, nbr_c, nbr_d, nbr_u, nbr_t;
       int cu,cp,crs,css;
       FILE *fp;
     
       if(ma_liste!= NULL)
          printf("la liste est non vide \n");
       fp = fopen("D:\donne.txt", "r");
    	if(fp == NULL)
    	{
    		printf("Impossible d'ouvrir fichier donnees .txt \n");
    		exit (-1);
    	}
     
       for(j=0;j<1;j++){
       fscanf(fp,"%d %d %d %d %d %d \n",&type,&nbr_v,&nbr_c,&nbr_t,&nbr_d,&nbr_u);
       ma_liste=ajouter_client(ma_liste,type,nbr_v,nbr_c,nbr_t,nbr_d,nbr_u);
     
       for(k=2;k<3;k++){
       fscanf(fp,"%d %d %d %d \n",&cu,&cp,&crs,&css);
       ma_liste_1=ajouter_usine1(ma_liste_1,cu,cp,crs,css);
     
       for(l=3;l<7;l++){
       fscanf(fp,"%d \n",&dj);
       ma_liste_2=ajouter_usine2(ma_liste_2,dj);
     
       for(m=7;m<23;m++){
       fscanf(fp,"%d %d \n",&T_max,&Q);
       ma_liste_3=ajouter_vehicule(ma_liste_3,Q,T_max);
     
       for(n=23;n<27;n++){
       fscanf(fp,"%d %lf %lf %d %d %d %d %d %d %d %d \n",&id,&abs,&ord,&dde,&frq,&tps_service,&b_inf_tw,&b_sup_tw,&cu_liv,&cu_st,&cap_d);
       ma_liste_4=ajouter_depot(ma_liste_4,id,abs,ord,dde,frq,tps_service,b_inf_tw,b_sup_tw,cu_liv,cu_st,cap_d);
     
       for(i=27;i<65;i++){
       fscanf(fp,"%d %lf %lf %d %d %d %d %d\n",&id,&abs,&ord,&dde,&frq,&tps_service,&b_inf_tw,&b_sup_tw);
       ma_laste=ajouter_noeud(ma_laste,id,abs,ord,dde,frq,tps_service,b_inf_tw,b_sup_tw);
     
     
       }
       printf("contenu de la liste\n");
       afficher_liste(ma_liste);
       fclose (fp);
     
       afficher_liste_1(ma_liste_1);
       fclose (fp);
     
       afficher_liste_2(ma_liste_2);
       fclose (fp);
     
       afficher_liste_3(ma_liste_3);
       fclose (fp);
     
       afficher_liste_4(ma_liste_4);
       fclose (fp);
     
       afficher_laste(ma_laste);
       fclose (fp);
     
       getchar();
       return EXIT_SUCCESS;
     
       }
       }
       }
       }
       }
    }

  9. #9
    Membre du Club
    Homme Profil pro
    etudiant ingénieur
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : etudiant ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Points : 50
    Points
    50
    Par défaut rep
    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    #include<stdio.h>
    #include<stdlib.h>
     
    typedef struct client client;
    struct client {
           int type;                                         /*type MDIRPTW*/
           int nbr_vehicules;                                /*nombre de vehicules*/
           int nbr_clients;                                  /*nombre de clients*/
           int nbr_periodes;                                 /*nombre de periodes*/
           int nbr_depots;                                   /*nombre de depots*/
           int nbr_usine;                                    /*nombre d'usines*/
           struct client *suiv;                              
           };
     
    typedef struct usine1 usine1;
    struct usine1{
           int cap_usine;                                    /*capacite de l'usine*/
           int cout_poss;                                    /*cout de possession de l'usine*/
           int cout_rup_stock;                               /*cout de rupture de stock de l'usine*/
           int cout_stock_sec;                               /*cout de stock de securite de l'usine*/
           struct usine1 *suiva;
     
    };
     
    typedef struct usine2 usine2;
    struct usine2{
           int dem_jour;                                     /* demande journalière de l'usine pour chaque période*/
           struct usine2 *suivan;
     
    };
     
    typedef struct vehicule vehicule;
    struct vehicule{
           int auton_max;                                    /* autonomie du stransport*/
           int capa_vehicule;                                /* capacite du vehicule*/
           struct vehicule *sui;
     
    };
     
    typedef struct depot depot;
    struct depot{
       int identifiant;                                      /*numero du client*/
       double abscisse;                                      /*abscisse du client i */
       double ordonee;                                       /*ordonnee du client i */
       int demande;                                          /*demande du client*/
       int frequence;                                        /*frequence de visite du client */
       int temps_service;                                    /*temps de service du client i */
       int borne_inf_tw;                                     /*début de la fenetre du temps du client i */                                 
       int borne_sup_tw;                                     /*fin de la fenetre du temps du client i */
       int cout_uni_liv;                                     /*cout unitaire de livraison*/
       int cout_uni_st;                                     /*cout unitaire de stockage */
       int capa_depot;                                       /*capacite du depot */
       struct depot *suivantt;
     
    };
     
    typedef struct noeud noeud;
    struct noeud {
       int identifiant;                                      /*numero du client*/
       double abscisse;                                      /*abscisse du client i */
       double ordonee;                                       /*ordonnee du client i */
       int demande;                                          /*demande du client*/
       int frequence;                                        /*frequence de visite du client */
       int temps_service;                                    /*temps de service du client i */
       int borne_inf_tw;                                     /*début de la fenetre du temps du client i */                                 
       int borne_sup_tw;                                     /*fin de la fenetre du temps du client i */
       struct noeud *suivant;
     
    };
     
     
     
    typedef client* llist;
     
    llist ajouter_client(llist liste,int type, int nbr_v, int nbr_c, int nbr_t, int nbr_d, int nbr_u)
    {
       client* nouveau = (client*) malloc(sizeof(client));
       nouveau->type = type;
       nouveau->nbr_vehicules = nbr_v;
       nouveau->nbr_clients = nbr_c;
       nouveau->nbr_periodes = nbr_t;
       nouveau->nbr_depots = nbr_d;
       nouveau->nbr_usine = nbr_u;
       nouveau->suiv = liste;
       return nouveau;
    };
     
     
    typedef usine1* liste_1;
     
    liste_1 ajouter_usine1(liste_1 liste,int cu, int cp, int crs, int css)
    {
       usine1* nouve = (usine1*) malloc(sizeof(usine1));
       nouve->cap_usine = cu;
       nouve->cout_poss = cp;
       nouve->cout_rup_stock = crs;
       nouve->cout_stock_sec = css;
       nouve->suiva = liste;
     
       return nouve;
    };
     
    typedef usine2* liste_2;
     
    liste_2 ajouter_usine2(liste_2 liste,int dj)
    {
       usine2* nouvea = (usine2*) malloc(sizeof(usine2));
       nouvea->dem_jour = dj;
       nouvea->suivan = liste;
     
       return nouvea;
    };
     
    typedef vehicule* liste_3;
     
    liste_3 ajouter_vehicule(liste_3 liste,int T_max, int Q)
    {
       vehicule* nouvv = (vehicule*) malloc(sizeof(vehicule));
       nouvv->auton_max = T_max;
       nouvv->capa_vehicule = Q;
       nouvv->sui = liste;
     
       return nouvv;
    };
     
    typedef depot* liste_4;
     
    liste_4 ajouter_depot(liste_4 liste,int id,double abs,double ord,int dde,int frq, int tps_service,int b_inf_tw,int b_sup_tw, int cu_liv, int cu_st, int cap_d)
    {
       depot* nouvvv = (depot*) malloc(sizeof(depot));
       nouvvv->identifiant = id;
       nouvvv->abscisse = abs;
       nouvvv->ordonee = ord;
       nouvvv->demande = dde;
       nouvvv->frequence = frq;
       nouvvv->temps_service = tps_service;
       nouvvv->borne_inf_tw = b_inf_tw;
       nouvvv->borne_sup_tw = b_sup_tw;
       nouvvv->cout_uni_liv = cu_liv;
       nouvvv->cout_uni_st = cu_st;
       nouvvv->capa_depot = cap_d;
       nouvvv->suivantt = liste;
     
       return nouvvv;
    };
     
    typedef noeud* laste;
     
    laste ajouter_noeud(laste liste,int id,double abs,double ord,int dde,int frq, int tps_service,int b_inf_tw,int b_sup_tw)
    {
       noeud* nouv = (noeud*) malloc(sizeof(noeud));
       nouv->identifiant = id;
       nouv->abscisse = abs;
       nouv->ordonee = ord;
       nouv->demande = dde;
       nouv->frequence = frq;
       nouv->temps_service = tps_service;
       nouv->borne_inf_tw = b_inf_tw;
       nouv->borne_sup_tw = b_sup_tw;
       nouv->suivant = liste;
     
       return nouv;
    };
                                                          /**************************************
                                                                 affichage des résultats
                                                          **************************************/
     
    void afficher_liste(llist liste)
    {
       client *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d %d %d %d %d\n",p->type,p->nbr_vehicules,p->nbr_clients,p->nbr_periodes,p->nbr_depots, p->nbr_usine);
          p = p->suiv;
       }
    }
     
    void afficher_liste_1(liste_1 liste)
    {
       usine1 *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d %d %d\n",p->cap_usine,p->cout_poss,p->cout_rup_stock,p->cout_stock_sec);
          p = p->suiva;
       }
    }
     
    void afficher_liste_2(liste_2 liste)
    {
       usine2 *p = liste;
     
       while(p!= NULL)
       {
          printf("%d\n",p->dem_jour);
          p = p->suivan;
       }
    }
     
    void afficher_liste_3(liste_3 liste)
    {
       vehicule *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %d \n",p->auton_max,p->capa_vehicule);
          p = p->sui;
       }
    }
     
    void afficher_liste_4(liste_4 liste)
    {
       depot *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %lf %lf %d %d %d %d %d %d %d %d\n",p->identifiant,p->abscisse,p->ordonee,p->demande,p->frequence, p->temps_service,p->borne_inf_tw,p->borne_sup_tw, p->cout_uni_liv, p->cout_uni_st, p->capa_depot);
          p = p->suivantt;
       }
    }
     
    void afficher_laste(laste liste)
    {
       noeud *p = liste;
     
       while(p!= NULL)
       {
          printf("%d %lf %lf %d %d %d %d %d\n",p->identifiant,p->abscisse,p->ordonee,p->demande,p->frequence, p->temps_service,p->borne_inf_tw,p->borne_sup_tw);
          p = p->suivant;
       }
    }
     
     
     
    int main (void)
    {
       llist ma_liste = NULL;
       laste ma_laste = NULL;
       liste_1 ma_liste_1 = NULL;
       liste_2 ma_liste_2 = NULL;
       liste_3 ma_liste_3 = NULL;
       liste_4 ma_liste_4 = NULL;
       int id;
       int k;
       int l;
       int m;
       int Q;
       int T_max;
       int dj;
       int cu_liv;
       int cu_st;
       int cap_d;
       int n;
       double abs;
       double ord;
       int dde;
       int frq;
       int tps_service;            
       int b_inf_tw;
       int b_sup_tw;
       int i;
       int j;
       int type;
       int nbr_v, nbr_c, nbr_d, nbr_u, nbr_t;
       int cu,cp,crs,css;
       FILE *fp;
     
       if(ma_liste!= NULL)
          printf("la liste est non vide \n");
       fp = fopen("D:\donne.txt", "r");
    	if(fp == NULL)
    	{
    		printf("Impossible d'ouvrir fichier donnees .txt \n");
    		exit (-1);
    	}
     
       for(j=0;j<2;j++){
       fscanf(fp,"%d %d %d %d %d %d \n",&type,&nbr_v,&nbr_c,&nbr_t,&nbr_d,&nbr_u);
       ma_liste=ajouter_client(ma_liste,type,nbr_v,nbr_c,nbr_t,nbr_d,nbr_u);}
     
       for(k=2;k<3;k++){
       fscanf(fp,"%d %d %d %d \n",&cu,&cp,&crs,&css);
       ma_liste_1=ajouter_usine1(ma_liste_1,cu,cp,crs,css);}
     
       for(l=3;l<7;l++){
       fscanf(fp,"%d \n",&dj);
       ma_liste_2=ajouter_usine2(ma_liste_2,dj);}
     
       for(m=7;m<23;m++){
       fscanf(fp,"%d %d \n",&T_max,&Q);
       ma_liste_3=ajouter_vehicule(ma_liste_3,Q,T_max);}
     
       for(n=23;n<27;n++){
       fscanf(fp,"%d %lf %lf %d %d %d %d %d %d %d %d \n",&id,&abs,&ord,&dde,&frq,&tps_service,&b_inf_tw,&b_sup_tw,&cu_liv,&cu_st,&cap_d);
       ma_liste_4=ajouter_depot(ma_liste_4,id,abs,ord,dde,frq,tps_service,b_inf_tw,b_sup_tw,cu_liv,cu_st,cap_d);}
     
       for(i=27;i<65;i++){
       fscanf(fp,"%d %lf %lf %d %d %d %d %d\n",&id,&abs,&ord,&dde,&frq,&tps_service,&b_inf_tw,&b_sup_tw); 
     
    ma_laste=ajouter_noeud(ma_laste,id,abs,ord,dde,frq,tps_service,b_inf_tw,b_sup_tw);}
     
       printf("contenu de la liste\n");
       afficher_liste(ma_liste);
       afficher_liste_1(ma_liste_1);
       afficher_liste_2(ma_liste_2);
       afficher_liste_3(ma_liste_3);
       afficher_liste_4(ma_liste_4);
       afficher_laste(ma_laste);
       fclose (fp);
    /*j ai  fermé le fichier une seul foie mais pas 4 j'ai 
     aussi ajoute les accolade pour chaque boucle for parsqu'il y avai de 5 boucles for imbrique ce que te posait  un probleme lort de l extraction des information */
     
       getchar();
       return EXIT_SUCCESS;
    }
    coordinalement

  10. #10
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Points : 109
    Points
    109
    Par défaut résolu
    Salut,

    merci bcp Youssef

    @+

  11. #11
    Membre du Club
    Homme Profil pro
    etudiant ingénieur
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : etudiant ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Points : 50
    Points
    50
    Par défaut rep
    c est un devoire je t enprie

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

Discussions similaires

  1. [DBA] Chargement de données via txt ou xls
    Par divail dans le forum SQL
    Réponses: 4
    Dernier message: 08/03/2006, 10h07
  2. Réponses: 1
    Dernier message: 09/02/2006, 10h11
  3. Réponses: 1
    Dernier message: 07/12/2005, 17h53
  4. Chargement de données texte.
    Par Guiadeur dans le forum Oracle
    Réponses: 1
    Dernier message: 19/10/2005, 11h42
  5. texture dynamique et chargement de données
    Par Mastero dans le forum DirectX
    Réponses: 6
    Dernier message: 03/05/2005, 14h37

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