Le but de mon programme est de créer un système de gestion de bibliothèque c'est à dire, ajouter des livres, ajouter des membres et je ne sais pas comment faire pour créer un module qui va permettre à un membre de louer un livre en indiquant aussi la date à laquelle il l'a loué.
Voici le code de mon programme :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*--------------------------------------- VARIABLES GLOBALES -----------------------------------------*/
// comme ça, les variables sont accessibles dans toutes les fontions!
void gerer_membres();
void gerer_livres();
void tab();
void showTab();
void save();
void locationLivre();
/*--------------------------------------- DECLARATION DES STRUCTURES -----------------------------------------*/
struct
{
int ID;
char nom[50];
char prenom[50];
char titre_livre[50];
char resultat[100];
int CP_ville;
}ligneTab[15];
/*--------------------------------------- Modules -----------------------------------------*/
void gerer_membres()
{
char choix;
int i,j;
do{
system("cls");
printf("\nQuelle action voulez-vous faire concernant les membres ?\n\n");
printf("- A = Ajouter un membre\n");
//printf("- S = Supprimer un membre\n");
printf("- R = Revenir au menu principal\n");
printf("\nVotre choix : ");
scanf("%c", &choix);
fflush(stdin);
printf("\n");
switch (choix)
{
case 'A':
printf("Combien de membres a rajouter ? ");
scanf("%d", &i);
fflush(stdin);
for (j=0;j<i;j++)
{
printf("\nNom: ");
fgets(ligneTab[j].nom,500,stdin);
printf("\nPrenom: ");
fgets(ligneTab[j].prenom,500,stdin);
printf("\nCode Postal de la ville : ");
scanf("%d",&ligneTab[j].CP_ville);
fflush(stdin);
}
break;
}
}while( choix != 'R');
}
void gerer_livres()
{
/*------------Ouverture du fichier des livres ----------------*/
char choix;
int j,livre_add;
do{
system("cls");
printf("\nQuelle action voulez-vous faire concernant les livres ?\n\n");
printf("- A = Ajouter un livre\n");
printf("- R = Revenir au menu principal\n");
printf("\nVotre choix : ");
scanf("%c", &choix);
fflush(stdin);
printf("\n");
switch(choix)
{
case 'A':
printf("Combien de livres a rajouter ? ");
scanf("%d", &livre_add);
fflush(stdin);
for (j=0;j<livre_add;j++)
{
printf("Titre du livre: ");
gets(ligneTab[j].titre_livre);
/* printf("Nom de l auteur : ");
fflush(stdin);
gets(auteur[j].nom);
printf("Prenom de l auteur : ");
fflush(stdin);
gets(auteur[j].prenom);
printf("Maison d edition : ");
fflush(stdin);
gets(livre[j].maison_edit);*/
system("pause");
break;
}
}
}while( choix != 'R');
void Tab()
{
int i;
for(i=0;i<=15;i++) // va tourner 1 seule fois
{
ligneTab[i].ID = i + 1;
ligneTab[i].CP_ville = 0; // initialise la variable de 0 à 14
memset(ligneTab[i].nom, 0, 50); // créé une ligne du tableau pour les noms ( membre ) -- memset(*str, int c, size_t n) *str = ou ca va l'écrire, c = la valeur écrite, taille de ce qu'on écrit
memset(ligneTab[i].prenom, 0, 50); // créé une ligne du tableau pour les prénoms ( membre )
// créé une ligne du tableau pour les villes ( membre )
memset(ligneTab[i].titre_livre, 0, 50); // créé une ligne du tableau pour les livres ( livres )
memset(ligneTab[i].resultat, 0, 100);
}
// création du tableau
strcpy(&ligneTab[0].ID, "1. ");
strcpy(&ligneTab[1].ID, "2. ");
strcpy(&ligneTab[2].ID, "3. ");
strcpy(&ligneTab[3].ID, "4. ");
strcpy(&ligneTab[4].ID, "5. ");
strcpy(&ligneTab[5].ID, "6. ");
strcpy(&ligneTab[6].ID, "7. ");
strcpy(&ligneTab[7].ID, "8. ");
strcpy(&ligneTab[8].ID, "9. ");
strcpy(&ligneTab[9].ID, "10. ");
strcpy(&ligneTab[10].ID,"11. ");
strcpy(&ligneTab[11].ID,"12. ");
strcpy(&ligneTab[12].ID,"13. ");
strcpy(&ligneTab[13].ID,"14. ");
strcpy(&ligneTab[14].ID,"15. ");
}
void showTab()
{
int i;
for(i=0; i<15; i++)
{
if(ligneTab[i].nom == 0 )
{
printf(" AH...Pas de nom -"); // Cela met /
}
else
{
printf("Test %s -",ligneTab[i].nom); // Sinon, affiche les noms
}
}
printf("\n");
for(i=0; i<15; i++)
{
if(ligneTab[i].prenom != 0)
{
printf(" %s -",ligneTab[i].prenom); // Sinon, affiche les prenoms
}
else
{
printf(" Pas de prenom -"); // Cela met /
}
}
printf("\n");
for(i=0; i<15; i++)
{
if(ligneTab[i].CP_ville != 0)
{
printf(" %d -",ligneTab[i].CP_ville); // Sinon, affiche les codes postales de ville
}
else
{
printf(" Pas de CP -"); // Cela met /
}
}
printf("\n");
for(i=0; i<15; i++)
{
if(ligneTab[i].titre_livre != 0)
{
printf(" %s -",ligneTab[i].titre_livre); // Sinon, affiche les noms
}
else
{
printf(" Pas de titre -"); // Cela met /
}
}
printf("\n");
}
void save()
{
int i;
FILE *fichier = NULL; //initialisé sur NULL pour être certain qu'il n'y ai pas d'erreur, c'est + sûr
fichier = fopen("tableau.txt", "w");
if(fichier != NULL)
{
for(i=0;i<15;i++)
{
fprintf(fichier,"%s %s %d\n%s %s",ligneTab[i].nom,ligneTab[i].prenom,ligneTab[i].CP_ville,ligneTab[i].titre_livre,ligneTab[i].resultat);
}
}
fclose(fichier);
}
void lire_Save()
{
int i;
FILE *fichier = NULL; //initialisé sur NULL pour être certain qu'il n'y ai pas d'erreur, c'est + sûr
fichier = fopen("tableau.txt", "r");
if(fichier != NULL)
{
for(i=0;i<15;i++)
{
fscanf(fichier,"%s %s %d\n%s ",&ligneTab[i].nom,&ligneTab[i].prenom,&ligneTab[i].CP_ville,&ligneTab[i].titre_livre,&ligneTab[i].resultat);
}
fclose(fichier);
}
}
void locationLivre()
{
printf("Quel est votre nom de membre ? ");
printf("Quel livre souhaitez-vous louer ? ");
}
/*-------------------------------------------- MAIN --------------------------------------------------*/
int main()
{
Tab(); // pour generer les lignes du tableau
lire_Save(); // récupère les valeurs du tableau et les remets dedans
char choix;
//--------------------------- ACTIONS -----------------------------//
do
{
system("cls");
printf("\nQuelle action voulez-vous faire ?\n\n");
printf("- M = Gerer les membres\n");
printf("- L = Gerer les livres\n");
printf("- T = Afficher tout le tableau\n");
printf("- S = Sortir du programme\n\n");
printf("Votre choix : ");
scanf("%c", &choix);
fflush(stdin);
printf("\n");
// On ne peut rien declarer dans un switch
switch(choix)
{
case 'M':
gerer_membres(); //pour ajouter des membres
system("pause");
break;
case 'L':
gerer_livres(); // pour ajouter des livres
system("pause");
break;
case 'P': //P pour print
affiche_livres(&livre,&auteur, &compteur_livre);
system("pause");
break; */
case 'T':
showTab(); // Pour afficher le tableau
system("pause");
break;
case 'E':
locationLivre(); //Pour louer un livre
system("pause");
break;
}
} while (choix != 'S');
save();//pour sauvegarder les valeurs du tableau dans un fichier
return 0;
}