Soucis avec typedef - C - Programmation
Marsh Posté le 29-01-2008 à 00:16:15
Par convention, on utilise les noms en majuscules pour des constantes. Pour différencier le nom de la structure du nom de la variable dont le format est une structure, il n'y a pas de convention universellement établie, mais l'une qui est courante est de préfixer la struture avec un underscore. On dissocie souvent la déclaration de la structure et la déclaration de la variable utilisant la structure. On n'est pas obligé d'utiliser typedef. Je ne l'utilise jamais, donc je vais donner un exemple sans typedef:
struct _client{ |
Ensuite l'utilisation de ses structures se fait en utilisant un point pour les entiers ou les caractères uniques, et une flèche pour les tableaux de caractères (car ils sont adressés par un pointeur). Par exemple :
strcpy(client1->nom, "Du Nord" ); |
Marsh Posté le 29-01-2008 à 07:53:41
super :\ c'est pas parce que tu comprends rien à typedef que tu peut t'en passer hein
Le typedef à l'immense avantage de pouvoir creer des types utilisateurs qui se comportement naturellement, c'est sur ça sert à rien
Code :
|
Une fois typedefé, une structure ce comporte comme un type atomique du langage : tu peut creéer des variables de ce types etc ... et accéder aux champs de leur instances.
Et oh, tu raconte n'importequoi sur -> et .
-> sert à adesser N'IMPORTE QUEL champ d'un pointeur de structure
. sert à adresser n'importequel champ d'une instance de structure
Code :
|
PS : ovithill, renseigne toi sur la notion de
Marsh Posté le 29-01-2008 à 11:51:18
jiraya a écrit : Alors ne sachant pas comment fonctionnent ces structures, en fouillant un peu sur le net j'ai réussi à faire ça pour le moment: un fichier client.h typedef struct client{ typedef struct billet{ c'est après que je bloc. |
Il y a un problème de type dans tes structures de données.
On reprend la définition :
Citation :
|
Ce qui s'écrit en pseudo-code :
|
en effet, un numéro de téléphone n'est pas un 'nombre', mais une chaine de caractères.
Ensuite, le billet :
Citation :
|
|
en effet, un prix n'est pas forcément entier.
Voila pour la conception.
Ensuite, quand on traduit en C, des détails d'implémentation peuvent apparaitre, mais une chose à la fois.
Avant de coder, je te conseille d'écrire les algorithmes des traitements, en texte et/ou en pseudo-code.
Marsh Posté le 28-01-2008 à 23:43:48
BOnjour.
Voilà je regarde des anciens sujets d'examen d'entré dans des écoles et je suis tombé sur un sujet qui donne ça avec les structures de typedef struct:
Vous devez développer une application qui simule un système simplifié de gestion de vente de billets d’avion d’une agence de voyages.
Voici la description de ce système :
• Chaque client peut acheter un ou plusieurs billets pour différents passagers.
• Le système doit enregistrer les informations personnelles suivantes de chaque client :
- nom, prénom,
- numéro de téléphone (domicile, bureau, portable ou/et autre).
Le système doit être construit d’une manière qui permette d’y ajouter facilement un nouveau type de numéro de téléphone.
• Les informations concernant un billet sont les suivantes :
- Informations sur le passager : nom, prénom, numéro de téléphone,
- Numéro d’identification du vol,
- Aéroports de départ et d’arrivée,
- Prix,
Le programme devra permettre à l’utilisateur de :
1. Afficher une facture après chaque opération de vente. La facture doit contenir les informations suivantes :
- Les informations personnelles du client,
- Les informations concernant les billets achetés,
- Le montant à payer.
Alors ne sachant pas comment fonctionnent ces structures, en fouillant un peu sur le net j'ai réussi à faire ça pour le moment:
un fichier client.h
typedef struct client{
char Nom [15];
char Prénom [15]
char client [25];
int tel;} CLIENT;
typedef struct billet{
char aero_dep [25];
char aero_arriv [25];
int num_vol;
int prix;
CLIENT* cl} BILLET;
c'est après que je bloc.
Quelqu'un a une idée?