Programme ne faisant pas ce que je lui demande
Résolu
GrandMaitre9
Messages postés
15
Statut
Membre
-
GrandMaitre9 Messages postés 15 Statut Membre -
GrandMaitre9 Messages postés 15 Statut Membre -
Bonjour,
Cela fait plusieurs jours que le programme ne fais pas ce que je lui demande. Je ne sais pas où ça coince. J'aurais besoin de votre aide.
Je dois réaliser une gestion des stocks. J'arrive très bien à rentrer dans la fonction du choix 1 et de le faire en entier mais dans le choix 2, le programme ne fais pas la fonction (pire, il me marque "fichier introuvable" à l'ouverture de la fonction sans me laisser appuyer sur une touche - je le vois un quart de seconde).
J'ai 2 fichiers (Commander.txt et Ajout.txt)
Travail.cpp
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <string>
#include <ctype.h>
#include <iostream>
#include <fstream>
#include <strstream>
#include <iomanip>
#include <vector>
#include <windows.h>
#include "Fonction.h"
#include "Ajout.txt"
#include "Commander.txt"
using namespace std;
int main()
{
gestion principal;
int choix;
ifstream stock_ajout("Ajout.txt", ios::in);
ifstream stock_commander("Commander.txt", ios::in);
if (!stock_ajout && !stock_commander)
{
printf("Impossible d'ouvrir le fichier");
return -1;
}
do
{
do
{
system("cls");
std::cout << "Que voulez-vous faire ?" << std::endl;
std::cout << "1. Ajouter un produit en stock" << std::endl;
std::cout << "2. Voir les produits en stock" << std::endl;
std::cout << "3. Ajouter un fournisseur" << std::endl;
std::cout << "4. Voir la liste des fournisseurs" << std::endl;
std::cout << "5. Effectuer une commande" << std::endl;
std::cout << "6. Rechercher une commande" << std::endl;
std::cout << "7. Modifier une commande" << std::endl;
std::cout << "8. Valider la commande - l'ayant recu" << std::endl;
std::cout << "9. Quitter" << std::endl;
std::cin >> choix;
if (choix < 1 || choix > 9) std::cout << "Selection non valable." << std::endl;
} while (choix < 1 || choix > 9);
if (choix == 1)
{
std::cout << "coucou1";
_getch();
principal.ajout_stock();
} else if (choix == 2)
{
std::cout << "coucou";
_getch();
principal.visualisation_stock();
} else if (choix == 3)
{
} else if (choix == 4)
{
} else if (choix == 5)
{
principal.creation_commande();
} else if (choix == 6)
{
principal.rechercher_commande();
} else if (choix == 7)
{
} else if (choix == 8)
{
} else if (choix == 9)
{
}
std::cout << std::endl << std::endl;
} while (choix != 9);
stock_ajout.close(); // Ferme le fichier
stock_commander.close(); // Ferme le fichier
return 0;
}
Fonction.h
FILE *stock_ajout; // Ajouter un médicament
FILE *stock_commander; // Effectuer une commande
using namespace std;
class gestion
{
int x, y;
public: gestion();
void GotoXY(short, short); // pour déplacer le curseur
void lecture_ajout(char *); // Ajouter du stock
void lecture_commander(char *); // Ajouter une commande
char ajout_restant(char *, char *); // Ajouter un médicament au stock
void visualisation_stock(); // 2. Voir les médicaments en stock
void ajout_stock(); // 1. Ajouter un médicament en stock
void rechercher_commande(); // 6. Rechercher une commande
void creation_commande(); // 5. Effectuer une commande
char date[20]; // Date de la commande
char numero[6]; // Numéro du médicament
char libelle[14]; // Libellé du médicament
char restant[4]; // Nombre de médicaments restants
char en_commande[4]; // Nombre de médicaments en commande
char livraison[20]; // Date de livraison des médicaments
};
gestion::gestion()
{
int abs = 0, ord = 0;
x = abs;
y = ord;
}
// pour déplacer le curseur
void gestion::GotoXY(SHORT x, SHORT y)
{
/* STD_OUTPUT_HANDLE fait reference a la sortie standard du programme qui est par defaut la console */
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD Pos;
Pos.X = x;
Pos.Y = y;
SetConsoleCursorPosition(hConsole, Pos);
}
// Ajouter du stock
void gestion::lecture_ajout(char *t)
{
int compteur = 0;
int caractere;
while((caractere = getc(stock_ajout)) != EOF && compteur < 59 && caractere != '\n')
{
t[compteur] = (char)caractere;
t[compteur] = tolower(t[compteur]);
compteur++;
}
t[compteur] = 0;
}
// Ajouter une commande
void gestion::lecture_commander(char *t)
{
int compteur = 0;
int caractere;
while((caractere = getc(stock_commander)) != EOF && compteur < 59 && caractere != '\t')
{
t[compteur] = (char)caractere;
t[compteur] = tolower(t[compteur]);
compteur++;
}
t[compteur] = 0;
}
// Ajouter un médicament au stock
char gestion::ajout_restant(char *a, char *b)
{
char resultat;
resultat = (int) a + (int) b;
return resultat;
}
// 2. Voir les médicaments en stock
void gestion::visualisation_stock()
{
system("cls");
std::cout << "coucou";
_getch();
gestion ici, demande;
int choix = 0, ligne = 6;
ifstream stock_ajout("Ajout.txt", ios::in); // Ouvrir le fichier en lecture
if (!stock_ajout)
{
system("cls");
std::cout << "coucou" << std::endl << std::endl;
std::cout << "Entrer le numero du produit :\t"; std::cin >> ici.numero;
std::cout << "________________________________________________________________________________" << std::endl;
std::cout << " Numero | Libelle | Restant " << std::endl;
std::cout << "________________________________________________________________________________" << std::endl;
lecture_ajout(demande.numero);
if (!strcmp(demande.numero, ici.numero))
{
GotoXY(0,ligne); std::cout << demande.numero;
GotoXY(13,ligne); std::cout << demande.libelle;
GotoXY(29,ligne); std::cout << demande.restant;
ligne = ligne + 3;
}
stock_ajout.close();
_getch();
} else
{
std::cout << "Fichier introuvable" << std::endl;
_getch();
}
}
// 1. Ajouter un médicament en stock
void gestion::ajout_stock()
{
gestion ici, demande;
char reponse[4];
int rep = 1;
system("cls");
std::cout << "Numero du produit : "; std::cin >> ici.numero;
std::cout << "Libelle du produit : "; std::cin >> ici.libelle;
std::cout << "Quantite : "; std::cin >> ici.restant;
do
{
std::cout << std::endl << "Voulez-vous sauvegarder ? (oui/non)\t"; std::cin >> reponse;
} while (strcmp(reponse, "non") && strcmp(reponse, "oui"));
if (reponse[0] == 'o')
{
fstream stock_ajout("Ajout.txt", ios::in|ios::app); // Ouvrir le fichier en lecture/écriture
if (stock_ajout)
{
stock_ajout << "\n" << ici.numero << "\t" << ici.libelle << "\t" << ici.restant;
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
stock_ajout.close();
}
}
// 6. Rechercher une commande
void gestion::rechercher_commande()
{
gestion ici, demande;
int choix = 0, ligne = 7;
ifstream stock_commander("Commander.txt", ios::in); // Ouvrir le fichier en lecture
if (stock_commander)
{
system("cls");
std::cout << "Entrer la numero du produit :\t"; std::cin >> ici.numero;
std::cout << "________________________________________________________________________________" << std::endl;
std::cout << " Date | Numero | Libelle | Restant | En commande | Livree le " << std::endl;
std::cout << "________________________________________________________________________________" << std::endl;
lecture_commander(demande.numero);
stock_commander >> demande.numero >> demande.date >> demande.libelle >> demande.restant >> demande.en_commande >> demande.livraison;
if (!strcmp(demande.numero, ici.numero))
{
GotoXY(0,ligne); std::cout << demande.date;
GotoXY(15,ligne); std::cout << demande.numero;
GotoXY(26,ligne); std::cout << demande.libelle;
GotoXY(45,ligne); std::cout << demande.restant;
GotoXY(56,ligne); std::cout << demande.en_commande;
GotoXY(69,ligne); std::cout << demande.livraison;
ligne = ligne + 3;
}
stock_commander.close();
_getch();
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
}
// 5. Effectuer une commande
void gestion::creation_commande()
{
gestion ici, demande;
char reponse[4];
int rep = 1;
system("cls");
std::cout << "Date : "; std::cin >> ici.date;
std::cout << "Numero : "; std::cin >> ici.numero;
std::cout << "Libelle du produit : "; std::cin >> ici.libelle;
std::cout << "Quantite restante : "; std::cin >> ici.restant;
std::cout << "Quantite a commander : "; std::cin >> ici.en_commande;
std::cout << "Livraison prevue le : "; std::cin >> ici.livraison;
do
{
std::cout << std::endl << "Voulez-vous sauvegarder ? (oui/non)\t"; std::cin >> reponse;
} while (strcmp(reponse, "non") && strcmp(reponse, "oui"));
if (reponse[0] == 'o')
{
fstream stock_commander("Commander.txt", ios::in|ios::app); // Ouvrir le fichier en lecture/écriture
if (stock_commander)
{
stock_commander << "\n" << ici.date << "\t" << ici.numero << "\t" << ici.libelle << "\t" << ici.restant << "\t" << ici.en_commande << "\t" << ici.livraison;
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
stock_commander.close();
}
}
Il y a des parties qui n'ont pas encore été utilisé, je suis désolé pour toute cette lecture mais je ne sais vraiment pas où se trouve l'erreur. Pour moi, j'ai vraiment tout essayé.
Merci d'avance.
Cela fait plusieurs jours que le programme ne fais pas ce que je lui demande. Je ne sais pas où ça coince. J'aurais besoin de votre aide.
Je dois réaliser une gestion des stocks. J'arrive très bien à rentrer dans la fonction du choix 1 et de le faire en entier mais dans le choix 2, le programme ne fais pas la fonction (pire, il me marque "fichier introuvable" à l'ouverture de la fonction sans me laisser appuyer sur une touche - je le vois un quart de seconde).
J'ai 2 fichiers (Commander.txt et Ajout.txt)
Travail.cpp
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <string>
#include <ctype.h>
#include <iostream>
#include <fstream>
#include <strstream>
#include <iomanip>
#include <vector>
#include <windows.h>
#include "Fonction.h"
#include "Ajout.txt"
#include "Commander.txt"
using namespace std;
int main()
{
gestion principal;
int choix;
ifstream stock_ajout("Ajout.txt", ios::in);
ifstream stock_commander("Commander.txt", ios::in);
if (!stock_ajout && !stock_commander)
{
printf("Impossible d'ouvrir le fichier");
return -1;
}
do
{
do
{
system("cls");
std::cout << "Que voulez-vous faire ?" << std::endl;
std::cout << "1. Ajouter un produit en stock" << std::endl;
std::cout << "2. Voir les produits en stock" << std::endl;
std::cout << "3. Ajouter un fournisseur" << std::endl;
std::cout << "4. Voir la liste des fournisseurs" << std::endl;
std::cout << "5. Effectuer une commande" << std::endl;
std::cout << "6. Rechercher une commande" << std::endl;
std::cout << "7. Modifier une commande" << std::endl;
std::cout << "8. Valider la commande - l'ayant recu" << std::endl;
std::cout << "9. Quitter" << std::endl;
std::cin >> choix;
if (choix < 1 || choix > 9) std::cout << "Selection non valable." << std::endl;
} while (choix < 1 || choix > 9);
if (choix == 1)
{
std::cout << "coucou1";
_getch();
principal.ajout_stock();
} else if (choix == 2)
{
std::cout << "coucou";
_getch();
principal.visualisation_stock();
} else if (choix == 3)
{
} else if (choix == 4)
{
} else if (choix == 5)
{
principal.creation_commande();
} else if (choix == 6)
{
principal.rechercher_commande();
} else if (choix == 7)
{
} else if (choix == 8)
{
} else if (choix == 9)
{
}
std::cout << std::endl << std::endl;
} while (choix != 9);
stock_ajout.close(); // Ferme le fichier
stock_commander.close(); // Ferme le fichier
return 0;
}
Fonction.h
FILE *stock_ajout; // Ajouter un médicament
FILE *stock_commander; // Effectuer une commande
using namespace std;
class gestion
{
int x, y;
public: gestion();
void GotoXY(short, short); // pour déplacer le curseur
void lecture_ajout(char *); // Ajouter du stock
void lecture_commander(char *); // Ajouter une commande
char ajout_restant(char *, char *); // Ajouter un médicament au stock
void visualisation_stock(); // 2. Voir les médicaments en stock
void ajout_stock(); // 1. Ajouter un médicament en stock
void rechercher_commande(); // 6. Rechercher une commande
void creation_commande(); // 5. Effectuer une commande
char date[20]; // Date de la commande
char numero[6]; // Numéro du médicament
char libelle[14]; // Libellé du médicament
char restant[4]; // Nombre de médicaments restants
char en_commande[4]; // Nombre de médicaments en commande
char livraison[20]; // Date de livraison des médicaments
};
gestion::gestion()
{
int abs = 0, ord = 0;
x = abs;
y = ord;
}
// pour déplacer le curseur
void gestion::GotoXY(SHORT x, SHORT y)
{
/* STD_OUTPUT_HANDLE fait reference a la sortie standard du programme qui est par defaut la console */
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD Pos;
Pos.X = x;
Pos.Y = y;
SetConsoleCursorPosition(hConsole, Pos);
}
// Ajouter du stock
void gestion::lecture_ajout(char *t)
{
int compteur = 0;
int caractere;
while((caractere = getc(stock_ajout)) != EOF && compteur < 59 && caractere != '\n')
{
t[compteur] = (char)caractere;
t[compteur] = tolower(t[compteur]);
compteur++;
}
t[compteur] = 0;
}
// Ajouter une commande
void gestion::lecture_commander(char *t)
{
int compteur = 0;
int caractere;
while((caractere = getc(stock_commander)) != EOF && compteur < 59 && caractere != '\t')
{
t[compteur] = (char)caractere;
t[compteur] = tolower(t[compteur]);
compteur++;
}
t[compteur] = 0;
}
// Ajouter un médicament au stock
char gestion::ajout_restant(char *a, char *b)
{
char resultat;
resultat = (int) a + (int) b;
return resultat;
}
// 2. Voir les médicaments en stock
void gestion::visualisation_stock()
{
system("cls");
std::cout << "coucou";
_getch();
gestion ici, demande;
int choix = 0, ligne = 6;
ifstream stock_ajout("Ajout.txt", ios::in); // Ouvrir le fichier en lecture
if (!stock_ajout)
{
system("cls");
std::cout << "coucou" << std::endl << std::endl;
std::cout << "Entrer le numero du produit :\t"; std::cin >> ici.numero;
std::cout << "________________________________________________________________________________" << std::endl;
std::cout << " Numero | Libelle | Restant " << std::endl;
std::cout << "________________________________________________________________________________" << std::endl;
lecture_ajout(demande.numero);
if (!strcmp(demande.numero, ici.numero))
{
GotoXY(0,ligne); std::cout << demande.numero;
GotoXY(13,ligne); std::cout << demande.libelle;
GotoXY(29,ligne); std::cout << demande.restant;
ligne = ligne + 3;
}
stock_ajout.close();
_getch();
} else
{
std::cout << "Fichier introuvable" << std::endl;
_getch();
}
}
// 1. Ajouter un médicament en stock
void gestion::ajout_stock()
{
gestion ici, demande;
char reponse[4];
int rep = 1;
system("cls");
std::cout << "Numero du produit : "; std::cin >> ici.numero;
std::cout << "Libelle du produit : "; std::cin >> ici.libelle;
std::cout << "Quantite : "; std::cin >> ici.restant;
do
{
std::cout << std::endl << "Voulez-vous sauvegarder ? (oui/non)\t"; std::cin >> reponse;
} while (strcmp(reponse, "non") && strcmp(reponse, "oui"));
if (reponse[0] == 'o')
{
fstream stock_ajout("Ajout.txt", ios::in|ios::app); // Ouvrir le fichier en lecture/écriture
if (stock_ajout)
{
stock_ajout << "\n" << ici.numero << "\t" << ici.libelle << "\t" << ici.restant;
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
stock_ajout.close();
}
}
// 6. Rechercher une commande
void gestion::rechercher_commande()
{
gestion ici, demande;
int choix = 0, ligne = 7;
ifstream stock_commander("Commander.txt", ios::in); // Ouvrir le fichier en lecture
if (stock_commander)
{
system("cls");
std::cout << "Entrer la numero du produit :\t"; std::cin >> ici.numero;
std::cout << "________________________________________________________________________________" << std::endl;
std::cout << " Date | Numero | Libelle | Restant | En commande | Livree le " << std::endl;
std::cout << "________________________________________________________________________________" << std::endl;
lecture_commander(demande.numero);
stock_commander >> demande.numero >> demande.date >> demande.libelle >> demande.restant >> demande.en_commande >> demande.livraison;
if (!strcmp(demande.numero, ici.numero))
{
GotoXY(0,ligne); std::cout << demande.date;
GotoXY(15,ligne); std::cout << demande.numero;
GotoXY(26,ligne); std::cout << demande.libelle;
GotoXY(45,ligne); std::cout << demande.restant;
GotoXY(56,ligne); std::cout << demande.en_commande;
GotoXY(69,ligne); std::cout << demande.livraison;
ligne = ligne + 3;
}
stock_commander.close();
_getch();
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
}
// 5. Effectuer une commande
void gestion::creation_commande()
{
gestion ici, demande;
char reponse[4];
int rep = 1;
system("cls");
std::cout << "Date : "; std::cin >> ici.date;
std::cout << "Numero : "; std::cin >> ici.numero;
std::cout << "Libelle du produit : "; std::cin >> ici.libelle;
std::cout << "Quantite restante : "; std::cin >> ici.restant;
std::cout << "Quantite a commander : "; std::cin >> ici.en_commande;
std::cout << "Livraison prevue le : "; std::cin >> ici.livraison;
do
{
std::cout << std::endl << "Voulez-vous sauvegarder ? (oui/non)\t"; std::cin >> reponse;
} while (strcmp(reponse, "non") && strcmp(reponse, "oui"));
if (reponse[0] == 'o')
{
fstream stock_commander("Commander.txt", ios::in|ios::app); // Ouvrir le fichier en lecture/écriture
if (stock_commander)
{
stock_commander << "\n" << ici.date << "\t" << ici.numero << "\t" << ici.libelle << "\t" << ici.restant << "\t" << ici.en_commande << "\t" << ici.livraison;
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
stock_commander.close();
}
}
Il y a des parties qui n'ont pas encore été utilisé, je suis désolé pour toute cette lecture mais je ne sais vraiment pas où se trouve l'erreur. Pour moi, j'ai vraiment tout essayé.
Merci d'avance.
A voir également:
- Programme ne faisant pas ce que je lui demande
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Comment fermer un programme qui ne répond pas - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
2 réponses
Bonjour,
nous pourrions t'aider, si tu mettais ton code source dans les balises correspondantes "
nous pourrions t'aider, si tu mettais ton code source dans les balises correspondantes "
<code cpp>< /code>" afin d'indenter ton code source et surtout qu'il soit lisible, car moi perso j'ai décroché en voyant ton code.
Ok merci.
Le code serait
Travail.cpp
Fonction.h
Je voudrais savoir où est-ce qu'il y aurait un problème dans le code sachant qu'il arrive à faire tout ce qu'il y a dans le choix 1 mais qu'il n'arrive pas à accéder à la fonction du choix 2.
Merci
Le code serait
Travail.cpp
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <string>
#include <ctype.h>
#include <iostream>
#include <fstream>
#include <strstream>
#include <iomanip>
#include <vector>
#include <windows.h>
#include "Fonction.h"
#include "Ajout.txt"
#include "Commander.txt"
using namespace std;
int main()
{
gestion principal;
int choix;
ifstream stock_ajout("Ajout.txt", ios::in);
ifstream stock_commander("Commander.txt", ios::in);
if (!stock_ajout && !stock_commander)
{
printf("Impossible d'ouvrir le fichier");
return -1;
}
do
{
do
{
system("cls");
std::cout << "Que voulez-vous faire ?" << std::endl;
std::cout << "1. Ajouter un produit en stock" << std::endl;
std::cout << "2. Voir les produits en stock" << std::endl;
std::cout << "3. Ajouter un fournisseur" << std::endl;
std::cout << "4. Voir la liste des fournisseurs" << std::endl;
std::cout << "5. Effectuer une commande" << std::endl;
std::cout << "6. Rechercher une commande" << std::endl;
std::cout << "7. Modifier une commande" << std::endl;
std::cout << "8. Valider la commande - l'ayant recu" << std::endl;
std::cout << "9. Quitter" << std::endl;
std::cin >> choix;
if (choix < 1 || choix > 9) std::cout << "Selection non valable." << std::endl;
} while (choix < 1 || choix > 9);
if (choix == 1)
{
std::cout << "coucou1";
_getch();
principal.ajout_stock();
} else if (choix == 2)
{
std::cout << "coucou";
_getch();
principal.visualisation_stock();
} else if (choix == 3)
{
} else if (choix == 4)
{
} else if (choix == 5)
{
principal.creation_commande();
} else if (choix == 6)
{
principal.rechercher_commande();
} else if (choix == 7)
{
} else if (choix == 8)
{
} else if (choix == 9)
{
}
std::cout << std::endl << std::endl;
} while (choix != 9);
stock_ajout.close(); // Ferme le fichier
stock_commander.close(); // Ferme le fichier
return 0;
}
Fonction.h
FILE *stock_ajout; // Ajouter un médicament
FILE *stock_commander; // Effectuer une commande
using namespace std;
class gestion
{
int x, y;
public: gestion();
void GotoXY(short, short); // pour déplacer le curseur
void lecture_ajout(char *); // Ajouter du stock
void lecture_commander(char *); // Ajouter une commande
char ajout_restant(char *, char *); // Ajouter un médicament au stock
void visualisation_stock(); // 2. Voir les médicaments en stock
void ajout_stock(); // 1. Ajouter un médicament en stock
void rechercher_commande(); // 6. Rechercher une commande
void creation_commande(); // 5. Effectuer une commande
char date[20]; // Date de la commande
char numero[6]; // Numéro du médicament
char libelle[14]; // Libellé du médicament
char restant[4]; // Nombre de médicaments restants
char en_commande[4]; // Nombre de médicaments en commande
char livraison[20]; // Date de livraison des médicaments
};
gestion::gestion()
{
int abs = 0, ord = 0;
x = abs;
y = ord;
}
// pour déplacer le curseur
void gestion::GotoXY(SHORT x, SHORT y)
{
/* STD_OUTPUT_HANDLE fait reference a la sortie standard du programme qui est par defaut la console */
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD Pos;
Pos.X = x;
Pos.Y = y;
SetConsoleCursorPosition(hConsole, Pos);
}
// Ajouter du stock
void gestion::lecture_ajout(char *t)
{
int compteur = 0;
int caractere;
while((caractere = getc(stock_ajout)) != EOF && compteur < 59 && caractere != '\n')
{
t[compteur] = (char)caractere;
t[compteur] = tolower(t[compteur]);
compteur++;
}
t[compteur] = 0;
}
// Ajouter une commande
void gestion::lecture_commander(char *t)
{
int compteur = 0;
int caractere;
while((caractere = getc(stock_commander)) != EOF && compteur < 59 && caractere != '\t')
{
t[compteur] = (char)caractere;
t[compteur] = tolower(t[compteur]);
compteur++;
}
t[compteur] = 0;
}
// Ajouter un médicament au stock
char gestion::ajout_restant(char *a, char *b)
{
char resultat;
resultat = (int) a + (int) b;
return resultat;
}
// 2. Voir les médicaments en stock
void gestion::visualisation_stock()
{
system("cls");
std::cout << "coucou";
_getch();
gestion ici, demande;
int choix = 0, ligne = 6;
ifstream stock_ajout("Ajout.txt", ios::in); // Ouvrir le fichier en lecture
if (!stock_ajout)
{
system("cls");
std::cout << "coucou" << std::endl << std::endl;
std::cout << "Entrer le numero du produit :\t"; std::cin >> ici.numero;
std::cout << "________________________________________________________________________________" << std::endl;
std::cout << " Numero | Libelle | Restant " << std::endl;
std::cout << "________________________________________________________________________________" << std::endl;
lecture_ajout(demande.numero);
if (!strcmp(demande.numero, ici.numero))
{
GotoXY(0,ligne); std::cout << demande.numero;
GotoXY(13,ligne); std::cout << demande.libelle;
GotoXY(29,ligne); std::cout << demande.restant;
ligne = ligne + 3;
}
stock_ajout.close();
_getch();
} else
{
std::cout << "Fichier introuvable" << std::endl;
_getch();
}
}
// 1. Ajouter un médicament en stock
void gestion::ajout_stock()
{
gestion ici, demande;
char reponse[4];
int rep = 1;
system("cls");
std::cout << "Numero du produit : "; std::cin >> ici.numero;
std::cout << "Libelle du produit : "; std::cin >> ici.libelle;
std::cout << "Quantite : "; std::cin >> ici.restant;
do
{
std::cout << std::endl << "Voulez-vous sauvegarder ? (oui/non)\t"; std::cin >> reponse;
} while (strcmp(reponse, "non") && strcmp(reponse, "oui"));
if (reponse[0] == 'o')
{
fstream stock_ajout("Ajout.txt", ios::in|ios::app); // Ouvrir le fichier en lecture/écriture
if (stock_ajout)
{
stock_ajout << "\n" << ici.numero << "\t" << ici.libelle << "\t" << ici.restant;
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
stock_ajout.close();
}
}
// 6. Rechercher une commande
void gestion::rechercher_commande()
{
gestion ici, demande;
int choix = 0, ligne = 7;
ifstream stock_commander("Commander.txt", ios::in); // Ouvrir le fichier en lecture
if (stock_commander)
{
system("cls");
std::cout << "Entrer la numero du produit :\t"; std::cin >> ici.numero;
std::cout << "________________________________________________________________________________" << std::endl;
std::cout << " Date | Numero | Libelle | Restant | En commande | Livree le " << std::endl;
std::cout << "________________________________________________________________________________" << std::endl;
lecture_commander(demande.numero);
stock_commander >> demande.numero >> demande.date >> demande.libelle >> demande.restant >> demande.en_commande >> demande.livraison;
if (!strcmp(demande.numero, ici.numero))
{
GotoXY(0,ligne); std::cout << demande.date;
GotoXY(15,ligne); std::cout << demande.numero;
GotoXY(26,ligne); std::cout << demande.libelle;
GotoXY(45,ligne); std::cout << demande.restant;
GotoXY(56,ligne); std::cout << demande.en_commande;
GotoXY(69,ligne); std::cout << demande.livraison;
ligne = ligne + 3;
}
stock_commander.close();
_getch();
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
}
// 5. Effectuer une commande
void gestion::creation_commande()
{
gestion ici, demande;
char reponse[4];
int rep = 1;
system("cls");
std::cout << "Date : "; std::cin >> ici.date;
std::cout << "Numero : "; std::cin >> ici.numero;
std::cout << "Libelle du produit : "; std::cin >> ici.libelle;
std::cout << "Quantite restante : "; std::cin >> ici.restant;
std::cout << "Quantite a commander : "; std::cin >> ici.en_commande;
std::cout << "Livraison prevue le : "; std::cin >> ici.livraison;
do
{
std::cout << std::endl << "Voulez-vous sauvegarder ? (oui/non)\t"; std::cin >> reponse;
} while (strcmp(reponse, "non") && strcmp(reponse, "oui"));
if (reponse[0] == 'o')
{
fstream stock_commander("Commander.txt", ios::in|ios::app); // Ouvrir le fichier en lecture/écriture
if (stock_commander)
{
stock_commander << "\n" << ici.date << "\t" << ici.numero << "\t" << ici.libelle << "\t" << ici.restant << "\t" << ici.en_commande << "\t" << ici.livraison;
} else
{
std::cout << "Fichier introuvable" << std::endl;
}
stock_commander.close();
}
}
Je voudrais savoir où est-ce qu'il y aurait un problème dans le code sachant qu'il arrive à faire tout ce qu'il y a dans le choix 1 mais qu'il n'arrive pas à accéder à la fonction du choix 2.
Merci