IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Programme de gestion de bibliothèque


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 23
    Points : 14
    Points
    14
    Par défaut Programme de gestion de bibliothèque
    salut
    j'ai un mini projet qui consiste à gérer une gestion de bibliothèque
    la démarche est la suivante :
    j'affiche un menu qui présente les différentes fonctios[modification(suppression ,ajout), lister de livre(afficher)].
    voila mon programme mais il n'execute plus
    aidez moi svp pour avoir un bon programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    #include<stdio.h>
    #include<stdlib.h>
    #include<windows.h>
    char choix2;
    struct elementlivre
    {int code;
    char auteur[20];
    char titre[20];
    };
    struct elementlivre infolivre;
     
    typedef struct fonctions
    {
            struct elementlivre infolivre;
            struct fonction *suivant;
    }maillon;
     
    typedef maillon *liste;
     
    maillon* ajout(maillon* l)
    {maillon  nv=(maillon*)malloc(sizeof(maillon))
    nv->code=infolivre.code;
    nv->titre[20]=infolivre.titre[20];
    nv->auteur[20]=infolivre.auteur[20];
      maillon temp=l;
      printf("entrer le code du livre:");
      scanf("%d",nv->infolivre.code);
      printf("entre le nom d'auteur:");
      scanf("%c",&nv->infolivre.auteur[20]);
      printf("entrer le titre du livre:");
      scanf("%c",&nv->infolivre.titre[20]);
        while(temp->suivant!=NULL)
           {
           temp=temp->suivant;
           }
           nv->suivant=NULL;
           temp->suivant=nv;
            return l;
    }
    maillon* suppression(maillon* l)
    { int x;
          printf("entre le code de livre que vous voullez suprimer");
          scanf("%d",&x);
          maillon *p,*avp;
          p=l;
          avp=l;
           printf("entrer le code du livre:");
      scanf("%d",&x);
      while((p->suivant!=NULL)&&(p->infolivre.code!=x))
      avp=p;
      p=p->suivant;
      free(p);
      return l;
    }
    maillon* modification(maillon* l)
    {char choix1;
    printf("ajout----->1");
    printf("suppression------>2");
    printf("quitter------->3");                              
    printf("entrer votre choix:");
    scanf("%c",&choix1); 
    switch (choix1)
    { case'1':l=ajout(l);
    break;
    case'2':l=suppression(l);
    break;
    case'3':exit(0);
    default;
    }
    maillon* listerlivre(maillon* l)
    {  
          liste temp;
    while(temp!=NULL)
    {
    printf("%d",nv->infolivre.code);
    printf("%c",nv->infolivre.auteur[20]);
    printf("%c",nv->infolivre.titre[20]);
    temp=temp->suivant;
    }
    return l;
    }
    void main()
    {
    printf("modification------>4");
    printf("lister du livre------>5");
    printf("quitter------->6");
    printf("entrer votr choix");
    scanf("%c",&choix2)
    switch(choix2)
    {
       case'4':l=modification(l);
       break;
       case'5':l=listerlivre(l);
       break;
       case'6':exit(0);   
       default;
    }
          getch();
          }

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Je ne suis pas sur, mais la question semble être très mal posé. Je dirai, que votre problème est que le programme ne compile pas. ( enfin, il ne le fait pas sous mon Linux ( j'ai enlevé les #include <windows.h> qui me semble aussi inutile ... ah si, pour le getch... :s qui pourrait être remplacé ... ).

    Le code est très mal indenté ... il faudrait corrigé déjà se point ( sinon personne va chercher à comprendre ce qu'il fait ).
    ( Pardon pour les messages GCC en anglais )

    bib.c:22: error: expected ‘,’ or ‘;’ before ‘nv’
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Ligne 23
    maillon*  nv=(maillon*)malloc(sizeof(maillon));
    bib.c:22: error: invalid initialiser
    bib.c:23: error: invalid type argument of ‘->’
    bib.c:24: error: invalid type argument of ‘->’
    bib.c:25: error: invalid type argument of ‘->’
    bib.c:26: error: invalid initialiser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Ligne 27
    maillon* temp=l;
    bib.c:23: error: ‘maillon’ has no member named ‘code’
    bib.c:24: error: ‘maillon’ has no member named ‘titre’
    bib.c:25: error: ‘maillon’ has no member named ‘auteur’

    bib.c:23: error: ‘linfolivre’ undeclared (first use in this function)
    bib.c:23: error: (Each undeclared identifier is reported only once
    bib.c:23: error: for each function it appears in.)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Ligne 24
    nv->infolivre.code=l->infolivre.code;
    nv->infolivre.titre[20]=l->infolivre.titre[20];
    nv->infolivre.auteur[20]=l->infolivre.auteur[20];
    bib.c:69: error: expected ‘:’ before ‘;’ token
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Ligne 70
    default:
    	break;
    Même après mes corrections, la fonction lister, ne marchera pas. car temp n'est jamais initialiser.

    bib.c:76: error: ‘nv’ undeclared (first use in this function)
    bib.c:76: error: (Each undeclared identifier is reported only once
    bib.c:76: error: for each function it appears in.)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Ligne 78
    printf("%d",l->infolivre.code);
    printf("%c",l->infolivre.auteur[20]);
    printf("%c",l->infolivre.titre[20]);
    bib.c:91: error: expected ‘;’ before ‘switch’
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Ligne 91
    scanf("%c",&choix2);
    bib.c:98: error: expected ‘:’ before ‘;’ token
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Ligne 99
    default:
       	break;
    Les corrections à faire sont en rouge.

    Il y a des variables globales qui ne devraient pas l'être ( exemple simple: choix2 ).
    Pour sauter une ligne dans un printf(), il faut utiliser '\n'
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 23
    Points : 14
    Points
    14
    Par défaut gestion de bibliothèque2
    bonjour,
    ce programme sur la gestion du bibliothèque il se compile mais le problème c'est au niveau de la fonction ajout et suppression car dés que je tape 1 ou 2 pour l'executer le programme sort.et j'ai pas compris ou est l'erreur svp aidez moi pour trouver les erreurs
    merci ....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
     
    struct elementlivre
    {int code;
    char auteur[20];
    char titre[20];
    };
    //struct elementlivre infolivre;
     
    typedef struct fonction
    {
            struct elementlivre infolivre;
            struct fonction *suivant;
    }maillon;
     
    typedef maillon* liste;
     
    liste ajout(liste l)
    {maillon*  nv=(maillon*)malloc(sizeof(maillon));
    liste  tmp=NULL;
     printf("entrer le code du livre:");
      scanf("%d",&nv->infolivre.code);
      printf("entre le nom d'auteur:");
      scanf("%c",&nv->infolivre.auteur[20]);
      printf("entrer le titre du livre:");
      scanf("%c",&nv->infolivre.titre[20]);
    /*nv->infolivre.code=l->infolivre.code;
    nv->infolivre.titre[20]=l->infolivre.titre[20];strcpy
    nv->infolivre.auteur[20]=l->infolivre.auteur[20];*/
     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;
    }
     
    maillon* suppression(maillon* l)
    { int x;
      maillon *p,*avp;
          printf("entre le code de livre que vous voullez suprimer");
          scanf("%d",&x);
          if(l==NULL)
          {
          printf("la liste est vide ");
          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 ");
      return NULL;
      }
      avp->suivant=p->suivant;
      free(p);
      return l;
    }
    }
    maillon* modification(maillon* l)
    {int  choix1;
     
    printf("ajout----->1\n");
    printf("suppression------>2\n");
    printf("quitter------->3\n");                              
    printf("entrer 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 ");
          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;
    }
    int main()
    {liste l=NULL;
        int  choix2;
    printf("modification------>1\n");
    printf("lister du livre------>2\n");
    printf("quitter------->3\n");
    printf("entrer votr choix");
    scanf("%d",choix2);
    switch(choix2)
    {
       case 1:l=modification(l);
       break;
       case 2:l=listerlivre(l);
       break;
       case 3:exit(0);   
       default:
       break;        
    }
          getch();
          return 0;
          }

  4. #4
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int main()
    ...
    scanf("%d",&choix2);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    liste ajout(liste l)
    ....
      printf("entre le nom d'auteur:");
      scanf("%s",nv->infolivre.auteur);
      printf("entrer le titre du livre:");
      scanf("%s",nv->infolivre.titre);
    D'autre part, c'est vrai qu'il y a un gros effort à faire sur la présentation du programme : il est INDISPENSABLE de respecter l'indentation du code.
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    merci bq le programme est reglé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Software] Gestion de bibliothèque
    Par Wookai dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 02/05/2009, 14h44
  2. Problème avec la "Gestion des bibliothèques dynamiques"
    Par GoustiFruit dans le forum Delphi
    Réponses: 15
    Dernier message: 31/05/2006, 09h54
  3. Cherche à faire un programme de gestion pour PC et MAC
    Par morgantip dans le forum Windows
    Réponses: 12
    Dernier message: 23/05/2006, 09h01
  4. Création d'un programme de Gestion / compta : langage ?
    Par Alexino2 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 11/04/2006, 15h00
  5. Programme de gestion d'image qui permet de tout renommer
    Par snoopy69 dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 07/02/2006, 07h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo