Rechercher : dans
Par :

Scanf d'une structure imbriqée

Dernière réponse le 18 mar 2009 à 15:58:58 Echap_Ax, le 18 mar 2009 à 04:27:37 
 Signaler ce message aux modérateurs

Bonjour,
j'ai rencontré beaucoup des problèmes avec les structures
je voudrai vous demander comment faire un appel d'une structure dans une autre pour
comment appliqué scanf pour remplir un tableau de structure se type de programme
merci a vous tous
voila mon code:

#include<stdio.h>
#include<conio.h>
#define const max;
typedef struct horaire{ 
        int h;
        int mn;
        int s;
        }horaires;
      
typedef  struct bus 
           { 
             int num;
             char nom;
             char dep;
             char arr;
             struct horaires ; 
             }BUS;
main()
{ 
      
int max=0;      
int i,x;
struct bus t[max];
for(i=0;i<10;i++)
{ 
                 printf("donner le numéro de bus\n");
                 scanf("%d",&t[i].num);
                 printf("donner l'heure de départ\n");
                 scanf("%d",&t[i].horaires.h);
                 printf("donner minute de départ\n");
                 scanf("%d",t[i].horaires.mn);
                 printf("donner seconde de départ\n");
                 scanf("%d",t[i].horaires.s);
                 printf("l'heure d'arrivée\n");
                 scanf("%d",&t[i].horaires.h);
                 printf("minute d'arrivée\n");
                 scanf("%d",&t[i].horaires.mn);
                 printf("seconde d'arrivée\n");
                 scanf("%d",&t[i].horaires.s);
                
                 }
                 
{  
                 printf("donner le numero de bus\n");
                 scanf("%d",&x);
                 
                 while(t[i].num != x)

je suis sous winvista sp1/ compilateur devc++
merci a vous tous

Meilleures réponses pour « scanf d'une structure imbriqée » dans :
Javascript - Les structures conditionnelles Voir Qu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non, ce qui permet notamment de donner de l'interactivité à vos scripts. L'instruction...
Langage C - Les structures conditionnelles Voir Qu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
PHP - Structures conditionnelles Voir Qu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
Structure logique d'un disque dur VoirStructure logique d'un disque dur Introduction Lorsque vous utilisez votre ordinateur, vos données sont organisées sous forme de fichiers et de répertoires, selon une structure arborescente et ces éléments sont stockés sur votre disque dur. C'est...
[Windows XP] Structure de la base de registre VoirQu'est-ce que la base de registre ? Accéder à la base de registre Comprendre son interface Colonne de gauche Les 5 clés racines Colonne de droite Quelques fonctionnalités du registre Exportation (sauvegarde d'une clé du...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Perl - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

mype, le 18 mar 2009 à 05:00:28
  • +1

Si tu utilises des typedef, dans ta deuxieme structure il te suffit de faire sa

typedef  struct bus 
           { 
             int num;
             char nom;
             char dep;
             char arr;
             horaires horr; 
             }BUS;
pareil quand tu definis ton tableau de struct tu peux utiliser directement le nouveau type
BUS t[MAX];
ton define aussi n'est pas correcte c'est plutot
#define MAX 10

apres pour utilisé tes scanf par exemple
 scanf("%d",&t[i].horr.h);

Répondre à mype

2

Echap_Ax, le 18 mar 2009 à 14:06:24

Merci beaucoup une bonne réponse et très claire,mais j'ai u tout petit problème avec la structure horaires est ce que l'enregistrement correcte avec cette lecture "c'est a dire l'horaire d'arrivée en h,mn,s écrase l'horaire de départ" ?
for(i=0;i<max;i++)
{
printf("donner le numéro de bus\n");
scanf("%d",&t[i].num);
printf("donner l'heure de départ\n");
scanf("%d",&t[i].horaires.h);
printf("donner minute de départ\n");
scanf("%d",t[i].horaires.mn);
printf("donner seconde de départ\n");
scanf("%d",t[i].horaires.s);
printf("l'heure d'arrivée\n");
scanf("%d",&t[i].horaires.h);
printf("minute d'arrivée\n");
scanf("%d",&t[i].horaires.mn);
printf("seconde d'arrivée\n");
scanf("%d",&t[i].horaires.s);
}

Répondre à Echap_Ax

3

mype, le 18 mar 2009 à 15:57:03

Oui...
il te faudrait faire des variables h,mn,s depart et arrivee ou alors une structure horraire arrivee et une autre horraire depart

Répondre à mype

4

 sesamizo, le 18 mar 2009 à 15:58:58

Bien sûr que oui.
Voila une petite rectification :
#include<stdio.h>
#include<conio.h>
typedef struct{
int h;
int mn;
int s;
}horaires;

typedef struct{
int num;
horaires hor_depart; // horaires de depart
horaires hor_arr; // et d'arrivée
}BUS;
main()
{

int i,x;
BUS t[10];
for(i=0;i<10;i++)
{
printf("donner le numéro de bus\n");
scanf("%d",&t[i].num);
//Depart
printf("donner l'heure de départ\n");
scanf("%d",&t[i].hor_depart.h);
printf("donner minute de départ\n");
scanf("%d",&t[i].hor_depart.mn);
printf("donner seconde de départ\n");
scanf("%d",&t[i].hor_depart.s);

//Arrivee
printf("l'heure d'arrivée\n");
scanf("%d",&t[i].hor_arr.h);
printf("minute d'arrivée\n");
scanf("%d",&t[i].hor_arr.mn);
printf("seconde d'arrivée\n");
scanf("%d",&t[i].hor_arr.s);

}
}

Répondre à sesamizo
Collection CommentÇaMarche.net