Structure en C
Fermé
assile
-
28 déc. 2010 à 12:54
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 28 déc. 2010 à 14:54
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 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
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? ✓ - Forum Word
- Table des matières ne prenant pas en compte tous mes titres - Forum Word
- Dans son restaurant, igor utilise une application pour gérer les réservations. voici une représentation graphique du schéma (structure) de la base de données de l’application. répondez aux questions. - Forum Antivirus
2 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
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
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
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 !