begin process at 2012 05 30 07:17:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Question gestion bibliotheque code c


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Question gestion bibliotheque code c

jeudi 28 octobre 2010 à 23:39:31 | Question gestion bibliotheque code c

nicolas92c

Bonjour,
j'ai un code non fini qui permet de gérer une bibliotheque.
Ajouter ou supprimer un lecteur ou un livre : ok
mais pour consulter les lecteurs ou livres enregistrés je bloque sur le code.

help?
merci

Code C/C++ :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>


/*ajout livre*/ 
struct elementlivre
{
int code;
char auteur[20];
char titre[20];
};

typedef struct livre
{
        struct elementlivre infolivre;
        struct livre *suivant;
}maillon;
 
typedef maillon* liste;
 
liste ajout(liste l)
{maillon*  nv=(maillon*)malloc(sizeof(maillon));
liste  tmp=NULL;
 printf("Entrez le code du livre:");
  scanf("%d",&nv->infolivre.code);
  printf("Entrez le nom de l'auteur:");
  scanf("%s",&nv->infolivre.auteur);
  printf("Entrez le titre du livre:");
  scanf("%s",&nv->infolivre.titre);
 

 tmp=l;
 if(l==NULL)
          {
      l=nv;
      nv->suivant=NULL;
      return l;
     }
    else 
    {
  while(tmp->suivant!=NULL)
       {
       tmp=tmp->suivant;
       }
       nv->suivant=NULL;
       tmp->suivant=nv;
       }
        return l;
}


/* ajout lecteur*/
struct elementlecteur
{
char prenom[20];
char nom[20];
};

typedef struct lecteur
{
        struct elementlivre infolivre;
        struct elementlecteur infolecteur;
        struct lecteur *suivant2;
}maillon2;
 
typedef maillon2* liste2;
 
liste2 ajout2(liste2 m)
{maillon2*  nv=(maillon2*)malloc(sizeof(maillon2));
liste2  tmp=NULL;


  printf("Entrez le prenom:");
  scanf("%s",&nv->infolecteur.prenom);
  printf("Entrez le nom:");
  scanf("%s",&nv->infolecteur.nom);
  printf("Numero livre umprunte :");
  scanf("%d",&nv->infolivre.code);
 

 tmp=m;
 if(m==NULL)
          {
      m=nv;
      nv->suivant2=NULL;
      return m;
     }
    else 
    {
  while(tmp->suivant2!=NULL)
       {
       tmp=tmp->suivant2;
       }
       nv->suivant2=NULL;
       tmp->suivant2=nv;
       }
        return m;
}

/* supprimer livre*/
maillon* suppression(maillon* l)
{ int x;
  maillon *p,*avp;
      printf("Entrez le code du livre a supprimer:\n");
      scanf("%d",&x);
      if(l==NULL)
      {
      printf("La liste est vide\n");
      return NULL;
      }
  else 
      {
      p=l;
      avp=l;
  while((p->suivant!=NULL)&&(p->infolivre.code!=x))
  {
  avp=p;
  p=p->suivant;
  }
  if(p->suivant==NULL)
  {
  printf("Le livre n'exite pas dans la liste\n");
  return NULL;
  }
  avp->suivant=p->suivant;
  free(p);
  return l;
}
}


/* supprimer lecteur*/

maillon2* suppression2(maillon2* m)
{ 
char nom[20];
  maillon2 *q,*avp;
      printf("Entrez le nom a supprimer:\n");
      scanf("%d",&nom);
      if(m==NULL)
      {
      printf("La liste est vide\n");
      return NULL;
      }
  else 
      {
      q=m;
      avp=m;
  while((q->suivant2!=NULL)&&(q->infolecteur.nom!=nom))
  {
  avp=q;
  q=q->suivant2;
  }
  if(q->suivant2==NULL)
  {
  printf("Le lecteur n'existe pas\n");
  return NULL;
  }
  avp->suivant2=q->suivant2;
  free(q);
  return m;
}
}


/* modifier la bdd livre*/
maillon* modification(maillon* l)
{int  choix1;
 
printf("Ajout       : tapez 1\n");
printf("Suppression : tapez 2\n");
printf("Quitter     : tapez 3\n");
                             
printf("Entrez votre choix:");
scanf("%d",&choix1); 
switch (choix1)
{
case 1:l=ajout(l);
break;
case 2:l=suppression(l);
break;
case 3:exit(0);
default:
break;   

     
}
return l;
}
 
maillon* listerlivre(maillon* l)
{  
      liste temp=l;
      if(l==NULL)
      {
      printf("la liste est vide\n");
      return NULL;
      }
      
while(temp!=NULL)
{
printf("%d",l->infolivre.code);
printf("%s",l->infolivre.auteur[20]);
printf("%s",l->infolivre.titre[20]);
temp=temp->suivant;
}
return l;
}

/* modifier la bdd lecteur*/

maillon2* modification2(maillon2* m)
{int  choix2;
 
printf("Ajout       : tapez 1\n");
printf("Suppression : tapez 2\n");
printf("Quitter     : tapez 3\n");
                             
printf("Entrez votre choix:");
scanf("%d",&choix2); 
switch (choix2)
{
case 1:m=ajout2(m);
break;
case 2:m=suppression2(m);
break;
case 3:exit(0);
default:
break;   

     
}
return m;
}
 
maillon2* listerlecteur(maillon2* m)
{  
      liste2 temp=m;
      if(m==NULL)
      {
      printf("la liste est vide\n");
      return NULL;
      }
      
while(temp!=NULL)
{
printf("%s",m->infolecteur.prenom[20]);
printf("%s",m->infolecteur.nom[20]);

temp=temp->suivant2;
}
return m;
}

/* consulter fiche livre*/


/*consulter fiche lecteur*/



/* ecran d'accueil*/
int main ()
{
liste l=NULL;
liste2 m=NULL;
int  choix3;



printf("Ajouter/Supprimer livre    : tapez 1\n");
printf("Ajouter/Supprimer lecteur  : tapez 2\n");
printf("Liste des livres           : tapez 3\n");
printf("Liste des lecteurs         : tapez 4\n");
printf("Quitter                    : tapez 5\n");
printf("Entrez votre choix");
scanf("%d",&choix3);
switch(choix3)
       {
       case 1:l=modification(l);
       break;
       case 2:m=modification2(m);
       break;
       case 5:exit(0);
       }
      
      

     
free;
getch();
return 0;

}


Cette discussion est classée dans : code, printf, return, livre, nv


Répondre à ce message

Sujets en rapport avec ce message

Pb avec les printf [ par PierScher ] voici le code pour afficher un pendu :printf(" ++++++++++++++++++++++++\n");printf(" API Windows NT [ par Nebula ] Bonsoir !J'essaie de récupérer le propriétaire d'un fichier sur un volume NTFS, mais le système me retourne toujours un échec.... J'utilise le code su Fonction return dans une console windows [ par Jolfulorc ] Bonjour,Lorsque j'affiche un texte dans une console windows (code du genre : coutla façon que j'ai trouvé pour contourner cet inconvénient types dans lex / yacc [ par Guillemouze ] bon jvais essayer detre clair.....alors g un code en lex et yass mais g un probleme lors de la compilation du fichier .tab.c et g limpression que ca v Probleme utilisation de fread [ par Trinita16 ] Bonjour, Voila le source d'un programme qui doit lire un fichier binaire. Mais je ne comprends pas l'executable systematiquement...Je pense qu'il y a printf de #define [ par Manson ] Bonjour,voila j'ai un #define qui se presente sous cette forme :#define FILEVER 1,2,3,4Je ne peux absoluement pas changer son format.< Livre sur le design de projet? [ par Darkneon ] Salut,Je recherche un livre sur la conception de code pour un projet. Le but est de cree un plan bien structure sur comment coder le programme; ceci p besoin d'aide : liste chainée [ par SemBy ] salutjutilse une liste chainée pour pouvoir traité une structure.declaration de ma structure :struct etu{ char nom[25]; char prenom[25]; Dll LoadLibrary --> Erreur [ par mortiis ] Bonjour à tous J'ai fait un prog qui devrais utiliser une dll pour faire un test j'ai fait un dll qui me fait afficher un MessageBox.Le problème est q je ne comprends pas mon code n'affiche pas ma grille...de morpion [ par nicoworld ] Voilà ben le .exe m'affiche pas ma grille cje ne comprends pas!!!!si quelqu'un peut me dire pourquoi????voilà le code://MORPION 10*10 :#include int ve


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 2,574 sec (4)

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