rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Exercice listes chainées

Posté par nerazzurri, le jeudi 10 janvier 2008 à 20:54:44
Bonjour,je suis débutant en c et je voudrais resoudre un petit exercice consiste à afficher un menu comporte 5 opérations [ 1) Ajout 2) Modification 3) Consultation 4) Suppression 0) Quitter ], sur enregistrement sa définition est comme suite [ struct fiche { char nom[25];
char prenom[20]; int age; int code; struct fiche *pSuivant ; }; ] (à l'aide des listes chainées ) , s'il ya quelqu'un qui peut m'aider je serai trés content et merci.
Configuration: Windows XP
Internet Explorer 6.0
borland C++ builder 5.0
Répondre à nerazzurri  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sfel, le jeudi 10 janvier 2008 à 20:57:40
qu'as-tu réalisé pour l'instant ??

on te corrigera.

L'ennemi est bête : il croît que c'est nous l'ennemi, alors que c'est lui !
GLOUGLOU ...
Répondre à sfel

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doctor C, le jeudi 10 janvier 2008 à 21:08:21
je vais quand même pas t'écrire la solution au complet...

as-tu des problèmes spécifiques? par exemple une fonction dont tu n'as aucune idée comment coder?
Echo "Lima Mike Alfa";
Répondre à Doctor C

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Blyess, le jeudi 10 janvier 2008 à 21:21:29
slt, j'ai un pbme au niveau du remplissage des champs de l'enregistrement, comment utiliser les listes chainées pour remplir les champs
c-à-d ajouter enregistrement à une liste avec le remplissage de ses chomps
Répondre à Blyess

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doctor C, le jeudi 10 janvier 2008 à 21:38:33
En fait, tu devrais utiliser cette stratégie pour ton programme:

A. Fait toi un menu du genre:

1. Ajouter un enregistrement
2. Modifier un enregistrement
3... etc

B. Lorque l'utilisateur appuie sur 1, tu appelles la fonction Ajouter(); 2 la fonction Modifier(); etc...

Et pour l'ajout d'enregistrement, tu n'as qu'à demander à l'utilisateur d'entrer une à la suite des autres les informations que tu as besoins (nom, prénom, etc.) avec des gets ou des scanf. Une fois que tu as récolté toutes tes données dans des variables, tu te crées une nouvelle occurence de ta structure avec ces informations et tu l'ajoutes dans ta liste.

J'espère avoir été clair et pas trop mélangeant!

si tu as des questions, laisse-toi aller!
Echo "Lima Mike Alfa";
Répondre à Doctor C

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Blyess, le jeudi 10 janvier 2008 à 21:32:26
slt, voilà ce que j'était fait , j'ai réalisé seulement l'opération d'ajout mais elle ne fonctionne pas, je ne sais pas ou est le pbme, quand j'execute le pgme il ne teste pas la boucle while

#include <conio.h>
#include <alloc.h>
#include <stdio.h>
struct fiche{
char nom[25];
char prenom[20];
int age;
int code;
struct fiche*pSuivant;
};
void main()
{int choix;
struct fiche*nouveau;
struct fiche*tete;
struct fiche*courant;
tete = NULL;
nouveau=(struct fiche*)malloc(sizeof(struct fiche));
nouveau->pSuivant=tete;
tete=nouveau;



clrscr;
printf(" ************************* Menu *************************\n");
printf(" * ---- *\n");
printf(" * 1) Ajout *\n");
printf(" * 2) Consultation *\n");
printf(" * 3) Modification *\n");
printf(" * 4) Suppression *\n");
printf(" * 0) Quiter *\n");
printf(" * *\n");
printf(" ********************************************************\n&q­uot;);

printf("\nQue voulez-vous faire ? Choisisez entre 1,2,3,4 ou quitter le programme 0: ");
scanf("%d",&choix);
switch (choix)
{
case 1 :{ clrscr;
printf("\n************** Ajout d'une nouvelle personne **************\n");
printf("\n Entrez le Nom, Prenom et l'Age : \n");

courant=tete;
if(tete!=NULL){
while(courant->pSuivant!=NULL){
courant=courant->pSuivant;
nouveau=(struct fiche*)malloc(sizeof(struct fiche));
courant->pSuivant=nouveau;
nouveau->pSuivant=NULL;
printf(" Nom : "); scanf("%s",nouveau->nom[25]);
printf(" Prenom : "); scanf("%s",nouveau->prenom[20]);
printf(" Age : "); scanf("%d",nouveau->age);
nouveau->code++ ;
}
}
};
case 2 :{ clrscr;
break;
}
}
getch();

}
Répondre à Blyess

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doctor C, le jeudi 10 janvier 2008 à 21:53:04
Si je peux me permettre, je n'aime pas trop ton allocation de mémoire!

C'est quoi cette idée d'allouer de la mémoire à un nouveau noeud avant même d'avoir choisi d'en créer un!

En plus, je ne saisis pas ta logique du tout... tu fais quoi? une pile?
je comprend pas pourquoi tu modifies la valeur de la tête avant même que le programme ait afficher le menu.

et pas étonnant que ton while marche pas, tu lui fais vérifier si courant->pSuivant!=NULL ... qui est déjà null...

vraiment, je comprend pas ton code!

Echo "Lima Mike Alfa";
Répondre à Doctor C

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sfel, le jeudi 10 janvier 2008 à 21:51:04
alors pour commencer, tes
printf(" Nom : "); scanf("%s",nouveau->nom[25]);
printf(" Prenom : "); scanf("%s",nouveau->prenom[20]);
printf(" Age : "); scanf("%d",nouveau->age); 


tu peux les mettre avant ton if.

sinon tu as fai un " if(tete!=NULL) "
tu fais pas le "else" ???

dans ta logique, par rapport a ta chaine, où ajoutes-tu ton nouveau (juste voir si tu as bien compris ton analyse, me jete pas de tomates tout de suite ^^)


après il y a 10 mille truc qu'on pourrais te dire, mais je préfère attendre au fur et a mesure, pour que l'analyse soit clair dans ton esprit

L'ennemi est bête : il croît que c'est nous l'ennemi, alors que c'est lui !
GLOUGLOU ...
Répondre à sfel

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Blyess, le jeudi 10 janvier 2008 à 21:59:49
exactement, et aprés chaque opération en revient au menu, mas pour ne pas compliquer les choses on peut ne pas utiliser les appelles aux fonctions pour chaque opération
Répondre à Blyess

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le jeudi 10 janvier 2008 à 22:04:21
Répondre à lami20j

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
anasmaths, le mercredi 30 janvier 2008 à 11:13:36
salut,
je prépare un contrôle en informatique dans les listes chaînées et les piles et files .je veux recevoir des exercices dans ces chapitres .
merci de me repondre dans un courrier anas5016@hotmail.com ou anas.kaouani@gmail.com
Répondre à anasmaths

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 marissa, le dimanche 18 mai 2008 à 18:12:01
j'ai un controle tp et j'ai besoin de savoir la solution de ce exercice:
on veut représenter des polynomes de derés quelconque sous formae de listes chainées.pour cela,on dispose de 2 polynomes P1 et P2 de degrés n et m(n et m etant quelconques)représentés par deux listes chainées linéaires unidirectionnelles.
le travail demandé est d'additionner ces deux polynomes dans un troisiéme.
mercu de me répondre par un e-mail, vite
Répondre à marissa
Logiciels pertinents trouvés dans les téléchargements
Télécharger Ma Liste d'Achats  2.01Ma Liste d'Achats - Faire les courses est une tâche bien compliquée pour les non initiés. Ma liste d'achats est comme son nom l'indique, un...Catégorie: Environnement de travail
Licence: Freeware/gratuit
Télécharger Ant Renamer 2.10.0Ant Renamer - ANT Renamer permet de renommer un grand nombre de fichiers et dossiers en quelques clics. Il ne fait que modifier les noms...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger Vista Codec Package 4.7.2Vista Codec Package - Vista Codec Package regroupe une collection impressionnante de codecs (audio et vidéo), permettant d'ouvrir la plupart...Catégorie: Codecs
Licence: Freeware/gratuit
Télécharger Windows XP SP2 1.0Windows XP SP2 - Les Service Packs constituent un moyen pratique, tout en un, d'accéder aux derniers pilotes, outils et améliorations en...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « exercice listes chainées »