begin process at 2012 02 09 14:21:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > LES LISTES( PETIT PROGRAMME )

LES LISTES( PETIT PROGRAMME )


 Information sur la source

Note :
Aucune note
Catégorie :Divers Niveau :Débutant Date de création :05/12/2004 Vu / téléchargé :3 500 / 218

Auteur : yassine_java

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

un petit programme ki traite ce l'on appelle une liste
avec un menu de plusieurs choix : insersion au debut de la liste, au milieu de la liste ou a la fin , et aussi pour la suppression d'un element de la liste.
pour toutes informations ou suggestions :
yassou3@fr.fm
bonne chance :)

Source

  • #include <stdio.h>
  • #include <conio.h>
  • #include <stdlib.h>
  • #include <errno.h>
  • struct famille
  • {
  • char nom[20];
  • char prenom[20];
  • int years;
  • struct famille *next;
  • }*fam;
  • struct famille *sauv;
  • void insereraudebut(struct famille *p);
  • void insereraumilieu(struct famille *p);
  • void insereralafin(struct famille *p);
  • void supprimer(struct famille*p);
  • void insereraudebut(struct famille *p)
  • {
  • p->next=fam;
  • fam=p;
  • }
  • void insereraumilieu(struct famille *p)
  • {
  • struct famille*suc,*pred;
  • suc=fam;
  • while(suc &&(p->years>suc->years))
  • {
  • pred=suc;
  • suc=suc->next;
  • }
  • p->next=pred->next;
  • pred->next=p;
  • }
  • void insereralafin(struct famille *p)
  • {
  • if(fam==NULL) fam=p;
  • else
  • {
  • sauv=fam;
  • while(sauv->next!=NULL)
  • sauv=sauv->next;
  • sauv->next=p;
  • }
  • }
  • void main()
  • {
  • struct famille *p;
  • fam=(struct famille *)malloc(sizeof(struct famille));
  • fam=NULL;
  • sauv=(struct famille *)malloc(sizeof(struct famille));
  • char n;
  • while(1)
  • {
  • clrscr();
  • p=(struct famille *)malloc(sizeof(struct famille));
  • p->next=NULL;
  • printf("\n");
  • printf("******************MENU GENERAL*********************\n");
  • printf("<1>voir la liste\n");
  • printf("<2>entrer un element au debut de liste\n");
  • printf("<3>entrer un element au milieu de liste\n");
  • printf("<4>entrer un element a la fin de liste\n");
  • printf("<5>supprimer un element\n");
  • printf("<6>quitter\n");
  • printf("***************************************************\n");
  • printf("saisir votre choix: ");
  • scanf("%s",&n);
  • switch(n)
  • {
  • case '1':
  • {
  • sauv=(struct famille *)malloc(sizeof(struct famille));
  • sauv=fam;
  • while(sauv)
  • {
  • printf("nom :%s\n",sauv->nom);
  • printf("prenom:%s\n",sauv->prenom);
  • printf("annee de naissance:%d\n",sauv->years);
  • printf("\n");
  • sauv=sauv->next;
  • }
  • getch();
  • break;
  • }
  • case '2':
  • {
  • printf("saisir le nom:");
  • scanf("%s",p->nom);
  • printf("saisir le prenom:");
  • scanf("%s",p->prenom);
  • printf("saisir l'annee de naissance:");
  • scanf("%d",&p->years);
  • insereraudebut(p);
  • break;
  • }
  • case '3':
  • {
  • printf("saisir le nom:");
  • scanf("%s",p->nom);
  • printf("saisir le prenom:");
  • scanf("%s",p->prenom);
  • printf("saisir l'annee de naissance:");
  • scanf("%d",&p->years);
  • insereraumilieu(p);
  • break;
  • }
  • case '4':
  • {
  • printf("saisir le nom:");
  • scanf("%s",p->nom);
  • printf("saisir le prenom:");
  • scanf("%s",p->prenom);
  • printf("saisir l'annee de naissance:");
  • scanf("%d",&p->years);
  • insereralafin(p);
  • break;
  • }
  • case '5':
  • {
  • printf("saisir le nom:");
  • scanf("%s",p->nom);
  • printf("saisir le prenom:");
  • scanf("%s",p->prenom);
  • printf("saisir l'annee de naissance:");
  • scanf("%d",&p->years);
  • supprimer(p);
  • break;
  • }
  • case '6': exit(0);
  • }
  • }
  • free(sauv);
  • free(fam);
  • free(p);
  • }
  • /* void insereraumilieu(struct famille *p)
  • {
  • struct famille *tmp;
  • tmp=(struct famille *)malloc(sizeof(struct famille));
  • sauv=fam;
  • while(sauv->next!=NULL)
  • {
  • if((tmp->years>p->years)&&(sauv->years<p->years))
  • {
  • p->next=sauv->next;
  • sauv->next=p;
  • break;
  • }
  • tmp=sauv;
  • sauv=sauv->next;
  • }
  • free(tmp);
  • }*/
  • void supprimer(struct famille*p)
  • {
  • struct famille*suc,*pred;
  • suc=fam;
  • if(suc->years==p->years) fam=fam->next;
  • //free(fam->next);
  • /*else
  • {
  • while(suc!=NULL)
  • {
  • pred=suc;
  • suc=suc->next;
  • }
  • suc=pred;
  • if(suc->years==p->years)
  • free(suc);
  • }
  • */
  • else
  • {
  • while(suc && (p->years!=suc->years))
  • {
  • pred=suc;
  • suc=suc->next;
  • }
  • pred->next=suc->next;
  • /****oubien,on peut faire******
  • //suc=suc->next;
  • //pred->next=suc;
  • *******************************/
  • }
  • }
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <errno.h>
struct famille
              {
              char nom[20];
              char prenom[20];
              int years;
              struct famille *next;
              }*fam;

struct famille *sauv;

void insereraudebut(struct famille *p);
void insereraumilieu(struct famille *p);
void insereralafin(struct famille *p);
void supprimer(struct famille*p);
void insereraudebut(struct famille *p)
{
p->next=fam;
fam=p;
}


void insereraumilieu(struct famille *p)
{
struct famille*suc,*pred;
suc=fam;
while(suc &&(p->years>suc->years))
{
pred=suc;
suc=suc->next;
}
p->next=pred->next;
pred->next=p;
}


void insereralafin(struct famille *p)
{
if(fam==NULL)   fam=p;
else
  {
  sauv=fam;
  while(sauv->next!=NULL)
  sauv=sauv->next;
  sauv->next=p;
  }
}


void main()
{
struct famille *p;
fam=(struct famille *)malloc(sizeof(struct famille));
fam=NULL;
sauv=(struct famille *)malloc(sizeof(struct famille));
char n;
while(1)
{
clrscr();
p=(struct famille *)malloc(sizeof(struct famille));
p->next=NULL;
printf("\n");
printf("******************MENU GENERAL*********************\n");
printf("<1>voir la liste\n");
printf("<2>entrer un element au debut de liste\n");
printf("<3>entrer un element au milieu de liste\n");
printf("<4>entrer un element a la fin de liste\n");
printf("<5>supprimer un element\n");
printf("<6>quitter\n");
printf("***************************************************\n");

printf("saisir votre choix: ");
scanf("%s",&n);

switch(n)
{
case '1':
{
sauv=(struct famille *)malloc(sizeof(struct famille));
sauv=fam;
while(sauv)
{
 printf("nom :%s\n",sauv->nom);
 printf("prenom:%s\n",sauv->prenom);
 printf("annee de naissance:%d\n",sauv->years);
 printf("\n");
 sauv=sauv->next;
 }
getch();
break;
}

case '2':
{
printf("saisir le nom:");
scanf("%s",p->nom);
printf("saisir le prenom:");
scanf("%s",p->prenom);
printf("saisir l'annee de naissance:");
scanf("%d",&p->years);
insereraudebut(p);
break;
}

case '3':
{
printf("saisir le nom:");
scanf("%s",p->nom);
printf("saisir le prenom:");
scanf("%s",p->prenom);
printf("saisir l'annee de naissance:");
scanf("%d",&p->years);
insereraumilieu(p);
break;
}

case '4':
{

printf("saisir le nom:");
scanf("%s",p->nom);
printf("saisir le prenom:");
scanf("%s",p->prenom);
printf("saisir l'annee de naissance:");
scanf("%d",&p->years);
insereralafin(p);
break;
}

case '5':
{
printf("saisir le nom:");
scanf("%s",p->nom);
printf("saisir le prenom:");
scanf("%s",p->prenom);
printf("saisir l'annee de naissance:");
scanf("%d",&p->years);
supprimer(p);
break;
}

case '6': exit(0);

}
}
free(sauv);
free(fam);
free(p);
}

/* void insereraumilieu(struct famille *p)
{
struct famille *tmp;
tmp=(struct famille *)malloc(sizeof(struct famille));
 sauv=fam;
  while(sauv->next!=NULL)
   {
    if((tmp->years>p->years)&&(sauv->years<p->years))
     {
     p->next=sauv->next;
     sauv->next=p;
     break;
     }
    tmp=sauv;
    sauv=sauv->next;
   }
free(tmp);
}*/
void supprimer(struct famille*p)
{
struct famille*suc,*pred;
suc=fam;
if(suc->years==p->years)     fam=fam->next;
//free(fam->next);
/*else
{
 while(suc!=NULL)
 {
  pred=suc;
  suc=suc->next;
 }
suc=pred;
if(suc->years==p->years)
  free(suc);
}
*/
else
 {
   while(suc && (p->years!=suc->years))
  {
   pred=suc;
   suc=suc->next;
  }

   pred->next=suc->next;
   /****oubien,on peut faire******
   //suc=suc->next;
   //pred->next=suc;
  *******************************/
  }
}





 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture TOURS DE HANOI AVEC TURBO C ( GRAPHIQUE )

 Sources de la même categorie

Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro
Source avec Zip Source avec une capture SHOP MANAGER CONSOLE SUR WINDOWS par antho974
Source avec Zip JOUR DE NAISSANCE par fredg19

Commentaires et avis

Commentaire de magic_Nono le 06/12/2004 09:28:40

yassine_java se met au C console.
jette donc un oeil au niveau des templates:
exemple:
http://www.cppfrance.com/code.aspx?ID=18584

Bonne prog
++
Magicalement

Commentaire de boumarsel le 09/12/2004 01:02:46

-si tu t'adresses au debutants en langage C, tu as dû mettre des commentaires et explications ds tn code.
-si tu t'adresses au pro de la programmation, assure-toi qu'ils n'ont rien à faire d'1e telle source.
-1 petit conseil, la prochaine fois essai de poser une source plus interessante au lieu de nous faire des copier/coller des exemples du cours de 'listes chainées'.

Commentaire de williamprotti le 01/01/2005 04:41:49

Miaouw

Commentaire de yeta86 le 21/12/2008 16:15:29

je crois que l'éssentiel c'est de participer chacun avec son niveau et toi Mr boumarsel je sais pas si té un pro de la programmation reste a vérifier mais meme si tu l'es tu a été débutant donc un peu de modestie.Bon courage a celui qui a déposé cette source te décourage surtout pas

Commentaire de boumarsel le 22/12/2008 10:22:22

Voilà donc quelqu'un qui répond après 4 ans et 11 jours pour me faire la morale.
C très rigolo ces forums, un jour je trouverais un commentaire de mon fils entrain de me dire "un peu de respect père stp" :D :D

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales