Programme ne faisant pas ce que je lui demande
Résolu/Fermé
GrandMaitre9
Messages postés
15
Date d'inscription
dimanche 14 juillet 2013
Statut
Membre
Dernière intervention
2 octobre 2014
-
24 févr. 2014 à 13:40
GrandMaitre9 Messages postés 15 Date d'inscription dimanche 14 juillet 2013 Statut Membre Dernière intervention 2 octobre 2014 - 24 févr. 2014 à 16:28
GrandMaitre9 Messages postés 15 Date d'inscription dimanche 14 juillet 2013 Statut Membre Dernière intervention 2 octobre 2014 - 24 févr. 2014 à 16:28
A voir également:
- Programme ne faisant pas ce que je lui demande
- Programme demarrage windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Désinstaller programme windows 10 - Guide
- Forcer la fermeture d'un programme - Guide
2 réponses
sambia39
Messages postés
610
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
9 février 2023
49
24 févr. 2014 à 13:53
24 févr. 2014 à 13:53
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.
GrandMaitre9
Messages postés
15
Date d'inscription
dimanche 14 juillet 2013
Statut
Membre
Dernière intervention
2 octobre 2014
24 févr. 2014 à 16:28
24 févr. 2014 à 16:28
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