Structure en C
Fermé
assile
-
28 déc. 2010 à 12:54
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 déc. 2010 à 14:54
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 déc. 2010 à 14:54
A voir également:
- Structure en C
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Trouvez l'erreur dans la structure du document et corrigez-la. - Forum Word
- Pdf structure 40 - Forum PDF
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « reservations » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Webmastering
2 réponses
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
28 déc. 2010 à 14:01
28 déc. 2010 à 14:01
Remarques pêle-mêle :
# On écrit généralement x->y au lieu de faire (*x).y
# Si tu veux modifier n dans ajouter, il faut mettre &n dans la définition et directement n dans le code (pas de *n) mais il serait plus logique que n soit dans la structure t_repertoire.
# Il est plus simple de définir de nouveaux type plutôt que de toujours transporter tes mot-clés struct :
Dans ce cas c'est des & que tu auras dans tes définitions plutôt que des *
Exemple : void ajouterContact(Contact &contact, Repertoire &repertoire)
# Tu n'as pas besoin de char nom[40] dans le main
# Il serait plus lisible de faire des fonctions intermédiaires dans ton main :
Remarque : ici le nouveau contact serait une variable locale de la fonction nouveauContact : Contact contact = repertoire->tab[repertoire->n];
# On écrit généralement x->y au lieu de faire (*x).y
# Si tu veux modifier n dans ajouter, il faut mettre &n dans la définition et directement n dans le code (pas de *n) mais il serait plus logique que n soit dans la structure t_repertoire.
# Il est plus simple de définir de nouveaux type plutôt que de toujours transporter tes mot-clés struct :
typedef struct t_contact { char categorie[20]; ... } *Contact; typedef struct t_repertoire { Contact tab[MAX]; int n; // le nombre de contact : 0<=n<=MAX } *Repertoire;
Dans ce cas c'est des & que tu auras dans tes définitions plutôt que des *
Exemple : void ajouterContact(Contact &contact, Repertoire &repertoire)
# Tu n'as pas besoin de char nom[40] dans le main
# Il serait plus lisible de faire des fonctions intermédiaires dans ton main :
do { choisirMenu(choix); switch (choix) { case 1 : nouveauContact(repertoire); break; } } while (choix!=0);
Remarque : ici le nouveau contact serait une variable locale de la fonction nouveauContact : Contact contact = repertoire->tab[repertoire->n];
Le problème c'est que mes structures sont définies telles quelles et que je ne peux pas les modifier (c'est la consigne). Je te remercie de ton aide mais je crois que je vais abandonner, il y a trop d'erreurs!! merci encore et bonne aprem
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
28 déc. 2010 à 14:54
28 déc. 2010 à 14:54
Excepté le n que j'ai rajouté à Repertoire, je n'ai pas modifié les structures, j'ai juste utilisé des typedef pour les manipuler plus simplement, ce qui ne change rien aux restes des remarques.
28 déc. 2010 à 14:20
Tu dois allouer dynamiquement de la mémoire à ton répertoire !