RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Besoin d'aide pour finaliser prêt

Forum : C++ - CONSOLE
Sous Catégorie : Console
Type du sujet : Sujet Normale
FAQ : FAQ C++ - CONSOLE

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C++ - CONSOLE

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
zembla
Nouveau membre
Inscrit : 09/06/2005
Messages : 2
Message
#66028
Posté le 09/06/05 à 14:58
[quote]Bonjour
J'ai un programme de gestion adhérents pour un prêt de livre en DEV-C++. L'enregistrement du prêt doit pouvoir faire : Sortie, Retour, Encours.
Exemple: Sortie:4, Retour:2, Encours:2 (avec date d'enregistrement ). Cordialement
Cette partie sur laquelle je suis est celle ci:
Ce sur lequel j'ai travaillé :
- Menu « Emprunt » : dans ce menu :
- demande du num adherent
- demande du num de livre qu’il souhaite empreinter
- ici 2 possibilités :
- le livre est dispo, j'inscrit cet emprunt (num adhérent +
num livre, date de retour prévu)
- le livre est déjà pris, j'affiche la date de retour prévue
pour ce livre(
- Menu « Retour d’emprunt » : dans ce menu :
- demande du num adherent
- demande du num de livre qu’il retourne
- suppression ou marquage de l’enregistrement qui mentionnait cet
emprunt (* ou n)
[/quote]


[code]
bool setDispoLivre( int idLivr,std::string sdispo)
{
bool trouve = false;
it_livre = vector_livre.begin();
while (it_livre!= vector_livre.end() && trouve == false) //tant que it_livre est # de la fin du vecteur et trouve est false
{
//cout<<"Pour test, id courant ="<<(it_livre)->getIdentLivre();
if( (it_livre)->getIdentLivre() == idLivr)
{
//std::cout << (it_livre)->getDispo()<<endl;// affiche la disponibilité
(it_livre)->setDispo(sdispo);
trouve = true; // on affecte true à trouve
}
it_livre++;//Incrementation pour passer au suivant
} // fin while
return trouve;
} // fin fonction setDispoLivre

bool getDispoLivre( int idLivr)
{
bool trouve = false;
it_livre = vector_livre.begin();
while (it_livre!= vector_livre.end() && trouve == false) //tant que it_livre est # de la fin du vecteur et trouve est false
{
//cout<<"Pour test, id courant ="<<(it_livre)->getIdentLivre();
if( (it_livre)->getIdentLivre() == idLivr)
{
std::cout << "Livre : "<<(it_livre)->getTitre()<<", Dispo : ";
std::cout << (it_livre)->getDispo()<<endl;// affiche la disponibilité
trouve = true; // on affecte true à trouve
}
it_livre++;//Incrementation pour passer au suivant
} // fin while
return trouve;
} // fin fonction getDispoLivre
//--------------------------------------------------------------------------------
//Faire le compte Livres en Plus ou Moins et les Encours . Maximunm 5 livres
int Comptelivremprunt(int idAdh)
{
bool trouve = false;
int nblivre;
it_adherent = vector_adherent.begin();
while (it_adherent!= vector_adherent.end() && trouve == false) //tant que it_livre est # de la fin du vecteur et trouve est false
{
if( (it_adherent)->getIdentAdherent() == idAdh)
{
//std::cout << (it_livre)->getDispo()<<endl;// affiche la disponibilité
nblivre = (it_adherent)->getcptLivre();
trouve = true; // on affecte true à trouve
}
it_adherent++;//Incrementation pour passer au suivant
} // fin while
return nblivre;
} // fin fonction Nbrelivremprunt

//Vérification du nombre de livre dejà emprunte. Maximunm 5 livres
int Nbrelivremprunt(int idAdh)
{
bool trouve = false;
int nblivre;
it_adherent = vector_adherent.begin();
while (it_adherent!= vector_adherent.end() && trouve == false) //tant que it_livre est # de la fin du vecteur et trouve est false
{
if( (it_adherent)->getIdentAdherent() == idAdh)
{
//std::cout << (it_livre)->getDispo()<<endl;// affiche la disponibilité
nblivre = (it_adherent)->getcptLivre();
trouve = true; // on affecte true à trouve
}
it_adherent++;//Incrementation pour passer au suivant
} // fin while
return nblivre;
} // fin fonction Nbrelivremprunt

void Saisie_Emprunt()
{
string sdispo = "o";
char continuer = 'o';
int idAdh, idLivr;
static int cptLivre = 0;//Compteur à zéro pour increment du livre
int nb;
int SortieLivre;
int RetourLivre;
int EncoursLivre;
while( continuer == 'O' || continuer == 'o')
{
//début boucle saisie des identifiants livres et adherents
std::cout<<"Voulez-vous saisir un emprunt ? ( O/N )"<<endl;
std::cin>>continuer;
if (continuer == 'O' || continuer == 'o')
{
std::cout<<endl<<"Quel est l identifiant adherent ?"<<endl;
std::cin>>idAdh;
std::cout<<endl<<"Quel est l identifiant livre ?"<<endl;
std::cin>>idLivr;

// Livre dispo ?
if (getDispoLivre(idLivr) == true)
{
sdispo = "o";
cout<<"livre dispo"<<endl;
}
else
{
cout<<"Livre non disponible"<<endl;
}
if (getDispoLivre(idLivr) == false)
{
sdispo = "n";
cout<<"Date retour prévue"<< date Retour; <<endl;//Date retour prevue pour ce livre( idLivr)
}

// regarder si l'emprunteur n'a pas dépassé son max !
int nblivre;
nblivre = Nbrelivremprunt(idAdh);
if (nblivre < 5 && sdispo == "o")
{
//Effectuer l'action reelle de l'emprunt
vector_pret.push_back(Emprunt(idAdh,idLivr,date Date_Emprunt);//On reserve en memoire pour nouveau element: l'Indentifiant,Titre
// mettre le livre non dispo
setDispoLivre(idLivr,"n"); // mettre la dispo à non car emprunt effectue
}
else
{
cout<<endl<<"Nb livre max atteint"<<endl;
}

// Les Sorties
std::cout<<endl<<"Emprunt par l'Adherent ?"<<endl;
std::cin>>nb;
SortieLivre = SortieLivre + nb;
{
cout<<"Emprunt Adherent "<< SortieLivre; // Affiche le prêt de l'adhérent
}

// Les Encours
EncoursLivre = SortieLivre - RetourLivre;
{
cout<<"Encours Emprunt "<< EncoursLivre;// Affiche les emprunts qui sont en possession de l'adherent
}

} // fin if continuer
} //fin de la boucle de saisie des livres et auteurs
//sauvegarde_pret();
}//fin saisie_emprunt

void Retour_Emprunt()
{
string sdispo = "o";
char continuer = 'o';
int idAdh, idLivr;
static int cptLivre = 0;//Compteur à zéro pour increment du livre
int nb;
int SortieLivre;
int RetourLivre;
int EncoursLivre;
while( continuer == 'O' || continuer == 'o')
{
//début boucle saisie des identifiants livres et adherents
std::cout<<"Voulez-vous saisir un emprunt ? ( O/N )"<<endl;
std::cin>>continuer;
if (continuer == 'O' || continuer == 'o')
{
std::cout<<endl<<"Quel est l identifiant adherent ?"<<endl;//Demande N°adherent
std::cin>>idAdh;
std::cout<<endl<<"Quel est l identifiant livre ?"<<endl;//Demande du N° livre retour
std::cin>>idLivr;

// Livre dispo ?
if (getDispoLivre(idLivr) == true)
{
sdispo = "o";
cout<<"livre dispo"<<endl;
}
else
{
cout<<"Livre non disponible"<<endl;
}
if (getDispoLivre(idLivr) == false)
{
sdispo = "n";
cout<<"Date retour prévue"<< date Retour; <<endl;//Date retour prevue pour ce livre( idLivr)
}

// regarder si l'emprunteur n'a pas dépassé son max !
int nblivre;
nblivre = Nbrelivremprunt(idAdh);
if (nblivre < 5 && sdispo == "o")
{
//Effectuer l'action reelle de l'emprunt
vector_pret.push_back(Emprunt(idAdh,idLivr,date Date_Retour);//On reserve en memoire pour nouveau element: l'Indentifiant,Titre
// mettre le livre non dispo
setDispoLivre(idLivr,"o"); // mettre la dispo à OUI car retour Livre en bibliotheque
}
else
{
cout<<endl<<"Nb livre max atteint"<<endl;
}
// Les Retours
std::cout<<endl<<"Retour Emprunt de l'Adherent ?"<<endl;
std::cin>>nb;
RetourLivre = RetourLivre - nb;
{
cout<<"Retour Emprunt "<< RetourLivre;// Affiche le retour d'emprunt par l'adhérent
}
// Les Encours
EncoursLivre = SortieLivre - RetourLivre;
{
cout<<"Encours Emprunt "<< EncoursLivre;// Affiche les emprunts qui sont en possession de l'adherent
}

} // fin if continuer
} //fin de la boucle de saisie des livres et auteurs
//sauvegarde_pret();
}//fin Retour_emprunt

void Sauvegarde_emprunt()
{
// sauvegarde
int IdentAdherent;
int IdentLivre;
int idAdh;
int idLivr;
ofstream fic_sauvemprunt("saisie_emprunt.txt");// Ecriture pour stocker les informations d'emprunt
bool trouve = false;
it_pret = vector_pret.begin();
while (it_pret!= vector_pret.end()) //tant que it_livre est # de la fin du vecteur
{
fic_sauvemprunt << (it_pret)->getIdentAdherent() << ";";
fic_sauvemprunt << (it_pret)->getIdentLivre() << ";";
date Date_Emprunt;
Date_Emprunt = (it_pret)->getDate_Emprunt();
fic_sauvemprunt << Date_Emprunt.get_jour()<< "/" <<Date_Emprunt.get_mois()<<"/"<<Date_Emprunt.get_an() <<endl;
it_pret++;//Incrementation pour passer au suivant
} // fin while
fic_sauvemprunt.close();
std::cout<<"Fin sauvegarde"<<endl;
}// fin de la fonction Sauve_Emprunt


void lecture_emprunt() // on remplit le vecteur emprunt
{
//Début fonction lecture_collection
//---Lire l'interface Emprunt à partir d'un fichier texte---

int IdentAdherent;//initialiser Identifiant Adhérent
int IdentLivre;//initialiser Identifiant Adhérent
date Date_Emprunt;//Permet de saisir date (jj/mm/aaaa)
string sdispo;//Permet de saisir 'O' ou 'N'
string chaine;
string sdate;
vector<string>recup;

char ligne;
int ident = 1;
ifstream fic_sauvemprunt("saisie_emprunt.txt");// Ecriture pour stocker les informations d'emprunt
if (!fic_sauvemprunt) // tester l'existence du fichier
std::cout << "Erreur à l'ouverture de saisie_emprunt.txt" << endl;
else
{
//it_emprunt = vector_emprunt.begin(); //vecteur vide a cet instant
std::cout<<endl<<"Affichage contenu fichier (ligne a ligne)"<<endl;
while (getline(fic_sauvemprunt,chaine))//tout est charge en une seule fois
{
Extract(chaine, recup, ";");
std::cout << recup[0] << " / " << recup[1] << " / " << recup[2] << " / " << recup[3];// autre méthode pour afficher
std::cout<<endl;
IdentAdherent = string_to_int(recup[0]);
IdentLivre = string_to_int(recup[1]);
sdate = recup[2];
sdispo = recup[3];

//Insérer dans le vecteur par le push back
vector_pret.push_back(Emprunt(IdentAdherent,IdentLivre));//On reserve en memoire pour nouveau element:
recup.clear();//Réinitialise le vecteur temporaire recup
}
}
fic_sauvemprunt.close();

// Afficher Lire interface Emprunt à partir d'un fichier texte (affichage implicite avec while )
it_pret = vector_pret.begin();
std::cout<<endl<<"Affichage vector_pret"<<endl;
while (it_pret == vector_pret.end())
{
std::cout<<endl<<(it_pret)->getIdentLivre()<<" - "<<(it_pret)->getIdentAdherent();
it_pret++;
} // fin de la boucle d'affichage
std::cout<<endl<<"Fin lecture base prêt"<<endl;
system("PAUSE");
system("cls");
}//Fin fonction lecture_pret
[/code]

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#66031
Posté le 09/06/05 à 15:14
Salut,
Que faut-il en faire?
Quel est le problème?
Alp
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

zembla
Nouveau membre
Inscrit : 09/06/2005
Messages : 2
Message
#66055
Posté le 09/06/05 à 17:30
[quote]Bonsoir,
Je vous remercie de votre réponse et questionnement.
Les parties du projet qui marchent sont :
1) Saisie Stock, 2) Saisie Adherent, 3) Recherche Livre OK ca marche.



C'est Saisie_Emprunt et Retour_Emprunt avec le mouvement de stock et Affichage des résultats qui font défaut pour qu'il y ait cohérence, car mon prog est décousu. Je pense que les idées compatables sont là, mais la date et les identifiants font défauts sur la logique d'exécution de l'interface de saisie avec les bonnes valeurs et variables par rapport aux classes. Je evrais rendre cela aujourd'hui, mais un délai m'a été accordé jusqu'à samedi.

[b]Problème[/b] :

La date de prêt ne s'affiche pas, date prévue de retour livre ne s'affiche pas, erreur de mouvement de stock qui affiche des chiffres que je n'ai pas demandés, c'est la galère. L'espace d'envoi est limité sur le site, sinon pas j'aurai pu vous envoyer mon projet avec les classes.

Cordialement

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

hanan
Nouveau membre
Inscrit : 20/06/2007
Messages : 1
Message
#136572
Posté le 20/06/07 à 15:00
je chérche un programme ou code source qui gére l'emprunt de livres d'une bibliothéque développé en c++

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

vortex666
Modérateur :
- C & C++
- OpenGL
- Delphi
Chef de projet(s) :
- Vortez3DEngine

Avatar de vortex666
Inscrit : 20/09/2004
Messages : 483
Message
#137656
Posté le 04/07/07 à 20:11
Essaie de débugger ton programme pas a pas et regarde ou ca foire, puis fixe les erreurs...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C++ - CONSOLE



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.