Pb menu

Pb menu - C++ - Programmation

Marsh Posté le 12-05-2003 à 17:32:41    

bonjour a tous  
 
j ai un soucis avec mon code je suis debutante et je suis tellemnt ds mon code que je ne vois pas l erreur, merci d avance pour vos lumieres... :oops: :oops:  
voici une partie du code  
ca deconne au niveau du taux d interet qd je selectionne le choix il ne sort pas il reste sur le menu taux d interet.........  
 
template <class GB1,class GB2>  
void compteR_creer(TABLEG<GB1>&Tc,TABLEG<GB2> &Tccr,char nom[],char prenom[]){  
float somme,txA=1.02,txB=1.04,tx;  
char text[10];  
VT100 V;  
int choix;  
 
if(Tc.getelem()>=NBRE||Tccr.getelem()>=NBRE){out_of_range x;throw(x);}  
else{  
V.acceuil("" );  
V.msg("CREATION COMPTE RENUMERE",20,0);  
if((Tccr.recherche(nom,prenom))>-1)  
{V.gotoxy(23,5);  
cout<<"Creation impossible : compte deja cree";  
V.getch();}  
else{  
if(Tc.recherche(nom,prenom)==-1)  
{ chaine C(nom,prenom);  
Tc.ajoutclient(C);};  
V.msg("nom:",20,5);  
cout<<nom;  
V.msg("prenom:",20,6);  
cout<<prenom;  
V.msg("depot:",20,7);  
somme=V.saisiefloat(text,1,26,7);  
V.msg("choix du taux:",20,8);  
do  
{  
 
V.message("Merci de preciser :" );  
V.msg("Taux d'interet A :2%_____________1",20,7);  
V.msg("Taux d'interet B :4%_____________2",20,8);  
V.msg("Quitter__________________________0",20,11);  
V.msg("choix:",15,13);  
choix=V.saisieint(text,1,5,21,13);  
try  
{  
switch(choix)  
{  
case 1: txA;tx=txA ;break;  
case 2: txB;tx=txB ;break;  
case 0:break;  
}  
}  
catch(out_of_range)  
{cout<<"Indice du tableau sort des limites"<<"\n";  
exit(0);  
};  
}while(choix!=0);  
 
compteR CR(nom,prenom,ind++,somme,tx);  
Tccr.ajoutclient(CR);  
};  
};  

Reply

Marsh Posté le 12-05-2003 à 17:32:41   

Reply

Marsh Posté le 12-05-2003 à 17:34:20    

Si tu pouvais expliquer un peu, parce que la j'ai pas tout pigé moi  :sweat:

Reply

Marsh Posté le 12-05-2003 à 17:39:56    

Je me permets de remettre le code un peu plus clair:
 

Code :
  1. template <class GB1,class GB2> 
  2. void compteR_creer(TABLEG<GB1>&Tc,TABLEG<GB2> &Tccr,char nom[],char prenom[]){ 
  3. float somme,txA=1.02,txB=1.04,tx; 
  4. char text[10]; 
  5. VT100 V; 
  6. int choix; 
  7. if(Tc.getelem()>=NBRE||Tccr.getelem()>=NBRE){out_of_range x;throw(x);} 
  8. else
  9. V.acceuil("" ); 
  10. V.msg("CREATION COMPTE RENUMERE",20,0); 
  11. if((Tccr.recherche(nom,prenom))>-1) 
  12. {V.gotoxy(23,5); 
  13. cout<<"Creation impossible : compte deja cree"; 
  14. V.getch();} 
  15. else
  16. if(Tc.recherche(nom,prenom)==-1) 
  17. { chaine C(nom,prenom); 
  18. Tc.ajoutclient(C);}; 
  19. V.msg("nom:",20,5); 
  20. cout<<nom; 
  21. V.msg("prenom:",20,6); 
  22. cout<<prenom; 
  23. V.msg("depot:",20,7); 
  24. somme=V.saisiefloat(text,1,26,7); 
  25. V.msg("choix du taux:",20,8); 
  26. do 
  27. V.message("Merci de preciser :" ); 
  28. V.msg("Taux d'interet A :2%_____________1",20,7); 
  29. V.msg("Taux d'interet B :4%_____________2",20,8); 
  30. V.msg("Quitter__________________________0",20,11); 
  31. V.msg("choix:",15,13); 
  32. choix=V.saisieint(text,1,5,21,13); 
  33. try 
  34. switch(choix) 
  35. case 1: txA;tx=txA ;break
  36. case 2: txB;tx=txB ;break
  37. case 0:break
  38. catch(out_of_range) 
  39. {cout<<"Indice du tableau sort des limites"<<"\n"; 
  40. exit(0); 
  41. }; 
  42. }while(choix!=0); 
  43. compteR CR(nom,prenom,ind++,somme,tx); 
  44. Tccr.ajoutclient(CR); 
  45. }; 
  46. };

Reply

Marsh Posté le 12-05-2003 à 17:41:49    

Je crois qu'en effet on aurait besoin de pas mal de détails...on connait rien aux structures que tu utilises!
Une explication un peu plus complète serait la bienvenue...

Reply

Marsh Posté le 12-05-2003 à 17:52:23    

déjà ton try_catch autour de ton switch, il attrapera jamais rien j'ai l'impression.
de meme {out_of_range x;throw(x);}  peut s'ecire tout simplement {throw out_of_range;}
 
 
le mieux c'est d'afficher le choix avant le switch histoire de voir
 
 
et je comprends pas ça
 
case 1 : txA;tx=txA
         ^^^
 
ça n'a aucun effet, ton compilateur doit sans doute te le dire


Message édité par Taz le 12-05-2003 à 17:58:33
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed