Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1454 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [EDIT après avoir bossé un peu] Retour sur le menu principal

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[EDIT après avoir bossé un peu] Retour sur le menu principal

n°1819496
Dadoo06_fz​d
FzD CreW
Posté le 30-11-2008 à 16:41:24  profilanswer
 

Salut tout le monde,
bon d'avord merci de m'avoir répondu, même si à mon niveau j'ai pas tout suivi. Je me suis mis sur mon programme, utilisé Google pour les fonctions etc, et sa marche maintenant.
Mais il me reste un point qu'il me reste à éclaircir, comment revenir au menu principal lorsque l'on est dans un sous menu ??
 
je vous met mon code si sa peux aider certains, et si certain ont quelques remarques, je suis preneur, mais il ne faudra pas oublier ma question principal  :na:  
A noter également que le code n'est pas complet, mais comme la suite est identique au début, j'ai abrégé pour ne pas faire 1000pages.
 

Code :
  1. #include <fstream>
  2. #include <iostream>
  3. using namespace std;
  4. int main() {
  5.     ifstream stock ("Stock.txt",ios::in);
  6.     ofstream Nstock ("Stock3.txt",ios::out);
  7.     string tab1[3]; // Tableau des pieces;
  8. int tab2[3]; // tableau des quantites;
  9.     int n=0; //Choix menu principal;
  10. int m=0; //choix menu secondaire;
  11. int x=0; // Quantite a ajouter;
  12. int p;
  13. int c;
  14. int v;
  15.  
  16.    for(int i=0;i<=3;i++){
  17.         stock>>tab1[i];
  18.         stock>>tab2[i]; }     
  19.  
  20. v=tab2[0]; //on lit le nombre de pieces actuelles;
  21. c=tab2[1];
  22. p=tab2[2];
  23. cout<<"Choisissez une operation"<<endl; // Menu principal;
  24. cout<<"1. Ajouter un article"<<endl;
  25. cout<<"2. Verifier la quantite"<<endl;
  26. cout<<"3. Afficher l'etat du stock"<<endl;
  27. cout<<"4. Quitter"<<endl;
  28.    
  29.            cin>>n; // Choix principal;   
  30. while (n<=4){
  31.  switch(n){
  32.   case 1:{
  33.             cout<<"Ajouter un article"<<endl;
  34.   cout<<"1. Vis"<<endl;
  35.   cout<<"2. Cheville"<<endl;
  36.   cout<<"3. Prises"<<endl;
  37.   cin>>m; //Choix sous-menu;
  38.             while (m<=4){
  39.    switch(m){
  40.     case 1:{
  41.      cout<<"Taper le nombre de vis a ajouter"<<endl;
  42.      cin>>x;
  43.      tab2[0]=tab2[0]+x; // on additione le nombre de vis et la qtt a ajouter;
  44.      Nstock<<tab1[0]<<"    "<<tab2[0]<<endl;                             
  45.         break;}
  46.     case 2:{
  47.      cout<<"Taper le nombre de chevilles a ajouter"<<endl;
  48.      cin>>x;
  49.      tab2[1]=tab2[1]+x; // on additione le nombre de vis et la qtt a ajouter;
  50.      Nstock<<tab1[1]<<"    "<<tab2[1]<<endl;                             
  51.         break;}
  52.     case 3:{
  53.      cout<<"Taper le nombre de vis a  ajouter"<<endl;
  54.      cin>>x;
  55.      tab2[2]=tab2[2]+x; // on additione le nombre de vis et la qtt a ajouter;
  56.      Nstock<<tab1[2]<<"    "<<tab2[2]<<endl;                             
  57.         break;}
  58.                    case 4:{
  59.      cout<<"Pour quitter taper 4"<<endl;
  60.      cin>>x;
  61.      tab2[2]=tab2[2]+x; // on additione le nombre de vis et la qtt a ajouter;
  62.      Nstock<<tab1[2]<<"    "<<tab2[2]<<endl;                             
  63.         break;}
  64.                     default :{cout<<"Retapez votre choix"<<endl;
  65.                     break;}
  66.                        
  67.    }
  68.   }
  69.   cout<<"Retape ton choix"<<endl;
  70.   break;
  71.  }
  72. }
  73. }
  74. for(int i=0;i<=3;i++){
  75.         Nstock<<tab1[i];
  76.         Nstock<<tab2[i];       
  77. } }

     
     
   
   
   
   

Message cité 1 fois
Message édité par Dadoo06_fzd le 02-12-2008 à 21:33:26
mood
Publicité
Posté le 30-11-2008 à 16:41:24  profilanswer
 

n°1819517
el muchach​o
Comfortably Numb
Posté le 30-11-2008 à 17:31:55  profilanswer
 

Balises [cpp][/cpp], merci. Et sur les tableaux 2D, il doit y avoir une douzaine de topics, fais une recherche.


Message édité par el muchacho le 30-11-2008 à 17:32:51

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1819524
Taz
bisounours-codeur
Posté le 30-11-2008 à 17:58:23  profilanswer
 

t'as le choix: soit tu apprends à utiliser les char*, soit tu utilises les std::string <string> soit tu utilises les string, soit tu utilises les string.

n°1819526
Taz
bisounours-codeur
Posté le 30-11-2008 à 18:00:31  profilanswer
 

et attention à ton switch(m) : m est un entier, donc c'est "case 2" et pas "case '2'"

n°1819527
Dadoo06_fz​d
FzD CreW
Posté le 30-11-2008 à 18:02:49  profilanswer
 

Comme je viens tout juste de commencer les cours en info (je suis en méca moi), je préfère utiliser ce que j'ai déjà vu, à savoir char* (mais ce n'est pas juste pour déclarer que c'est une chaine de caractère?)
 
et le problème c'est que sa bloque dès le début .... je n'arrive pas à lui dire que dans le premier tableau ce ne sont que des caractère, et que dans le second tableau se ne sont que des chiffres....

n°1819532
Joel F
Real men use unique_ptr
Posté le 30-11-2008 à 18:44:19  profilanswer
 

std::vector : http://www.sgi.com/tech/stl/Vector.html
std::string : http://www.sgi.com/tech/stl/basic_string.html
 
Si t'as pas vu ça en cours, c'ets que tu susi un cours de C et tu n'es pas dans la bonne cat.
 

n°1819550
el muchach​o
Comfortably Numb
Posté le 30-11-2008 à 19:32:30  profilanswer
 

lol, les balises, c'est au début et à la fin de ton code (pour le rendre lisible), qu'il faut les mettre, pas dans le nom du topic.
Regarde comment c'est fait dans d'autres topics.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1819587
Taz
bisounours-codeur
Posté le 30-11-2008 à 20:28:18  profilanswer
 

Dadoo06_fzd a écrit :

Comme je viens tout juste de commencer les cours en info (je suis en méca moi), je préfère utiliser ce que j'ai déjà vu, à savoir char* (mais ce n'est pas juste pour déclarer que c'est une chaine de caractère?)
 
et le problème c'est que sa bloque dès le début .... je n'arrive pas à lui dire que dans le premier tableau ce ne sont que des caractère, et que dans le second tableau se ne sont que des chiffres....


Vu ce que t'es fait de tes char*, ça peut vouloir dire plusieurs choses:
- tu dormais à côté du radiateur (je peux comprendre)
- ton prof a 10ans de retard
- ton prof est un détraqué
 
Ne te prives pas d'utiliser string, ça se comportera exactement comme tu t'y attends

n°1819631
ptitchep
Posté le 30-11-2008 à 21:38:47  profilanswer
 

Dadoo06_fzd a écrit :


v>>tab2[0]; //on lit le nombre de pieces actuelles;  


Ca, je ne comprends pas.
En tout cas, vu que v=0 à l'initialisation et que tu ne le modifies pas, c'est normal qu'il soit toujours égal à 0.


---------------
deluser --remove-home ptitchep
n°1821231
ptitchep
Posté le 03-12-2008 à 13:05:41  profilanswer
 

Pour le menu je ferais quelque chose comme ça:

 
Code :
  1. while (!quitter)
  2. {
  3.        affichage menu
  4.        while (reponseInvalide)
  5.            demander réponse
  6.      
  7.        switch (reponse)
  8.        {
  9.             case 1:
  10.                 affichage sous menu
  11.                 while (reponseInvalide)
  12.                      demander réponse
  13.                 switch() {...}
  14.                 break;
  15.             case 2:
  16.                 ...
  17.             case 3:
  18.             ...
  19.             case valeurQuit:
  20.                 quitter=true;
  21.        }
  22. }


Et sinon j'utiliserais std::pair<std::string,int> au lieu de deux tableaux.


Message édité par ptitchep le 03-12-2008 à 13:06:27

---------------
deluser --remove-home ptitchep
mood
Publicité
Posté le 03-12-2008 à 13:05:41  profilanswer
 

n°1821593
Dadoo06_fz​d
FzD CreW
Posté le 03-12-2008 à 19:14:35  profilanswer
 

Salut,
merci ptitchep d'avoir pris le temps d'étudier mon problème. Je vais revoir mon code et j'en donnerai quelques nouvelles.
Concernant le fait d'utiliser deux tableaux, c'est un exercice que je suis en train de faire, donc les tableaux sont imposés :p
 
V++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [EDIT après avoir bossé un peu] Retour sur le menu principal

 

Sujets relatifs
Menu déroulant influant sur un deuxième menu déroulant[résolu] Problème avec iframe et menu déroulant
Recuperation de données dans un menu deroulantaboutir à quelque chose avec un menu
Menu déroulant passe sous animation Flash (sous IE)Menu déroulant horizontal
Menu dynamique avec images liens et agrandissementformulaire en Flash, traitement en Java, retour vers Flash
menu coupé a gauche[Résolu] Menu et sous menu-dynamique
Plus de sujets relatifs à : [EDIT après avoir bossé un peu] Retour sur le menu principal


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR