question de newbie sur un convertisseur euros

question de newbie sur un convertisseur euros - C++ - Programmation

Marsh Posté le 09-09-2002 à 17:51:37    

la faut m'expliquer parce que mon convertisseur est peut-etre totalement faux mais mon compilo lui me dit que tout est ok et lorsque je veux l'executer il ne se passe rien.
 

Code :
  1. #include <iostream.h>
  2. double convertisseur(double franc)
  3. {
  4.   double euro;
  5.   double facteur = 6.55957;
  6.   euro = franc/facteur;
  7.   return (euro);
  8. }
  9. double convertisseur2(double euro)
  10. {
  11.   double franc;
  12.   double facteur = 6.55957;
  13.   euro = franc*facteur;
  14.   return (franc);
  15.   }
  16. void main()
  17. {
  18.   double sommeEuro,sommeFranc;
  19.   char a;
  20.   int choix;
  21. cout << "1-converssion francs-euros\n";
  22. cout << "2-converssion euros-francs\n";
  23. cin >> choix;
  24. if(choix=1)
  25. {
  26.     //saisie des valeurs
  27.   cout<<"\nVeuillez entrer une somme en francs: ";
  28.   cin>>sommeFranc;
  29.   //appel de la fonction
  30.   sommeEuro=convertisseur(sommeFranc);
  31.  
  32.   //affichage du resultat
  33.   cout<<"\n\nLe resultat de la conversion est: "<<sommeEuro<<endl;
  34.  
  35.   //pour que l'application ne quitte pas seule
  36.   cout<<"\nAppuyer sur une touche pour quitter!";
  37.   cin>>a;
  38. }
  39. else if(choix=2)
  40.   {
  41.     //saisie des valeurs
  42.   cout<<"\nVeuillez entrer une somme en euros: ";
  43.   cin>>sommeFranc;
  44.   //appel de la fonction
  45.   sommeFranc=convertisseur2(sommeEuro);
  46.  
  47.   //affichage du resultat
  48.   cout<<"\n\nLe resultat de la conversion est: "<<sommeFranc<<endl;
  49.  
  50.   //pour que l'application ne quitte pas seule
  51.   cout<<"\nAppuyer sur une touche pour quitter!";
  52.   cin>>a;
  53.   }
  54. return((sommeFranc) || (sommeEuro));
  55. }

Reply

Marsh Posté le 09-09-2002 à 17:51:37   

Reply

Marsh Posté le 09-09-2002 à 17:52:47    

Je n'y connais strictmenent rien en C, mais le code me parait bien long juste pour un convertisseur Franc/Euro !

Reply

Marsh Posté le 09-09-2002 à 17:53:00    

bailly33 a écrit a écrit :

la faut m'expliquer parce que mon convertisseur est peut-etre totalement faux mais mon compilo lui me dit que tout est ok et lorsque je veux l'executer il ne se passe rien.
 

Code :
  1. #include <iostream>
  2. double convertisseur(double franc)
  3. {
  4.   double euro;
  5.   double facteur = 6.55957;
  6.   euro = franc/facteur;
  7.   return (euro);
  8. }
  9. double convertisseur2(double euro)
  10. {
  11.   double franc;
  12.   double facteur = 6.55957;
  13.   euro = franc*facteur;
  14.   return (franc);
  15.   }
  16. void main()
  17. {
  18.   double sommeEuro,sommeFranc;
  19.   char a;
  20.   int choix;
  21. cout << "1-converssion francs-euros\n";
  22. cout << "2-converssion euros-francs\n";
  23. cin >> choix;
  24. if(choix=1)
  25. {
  26.     //saisie des valeurs
  27.   cout<<"\nVeuillez entrer une somme en francs: ";
  28.   cin>>sommeFranc;
  29.   //appel de la fonction
  30.   sommeEuro=convertisseur(sommeFranc);
  31.  
  32.   //affichage du resultat
  33.   cout<<"\n\nLe resultat de la conversion est: "<<sommeEuro<<endl;
  34.  
  35.   //pour que l'application ne quitte pas seule
  36.   cout<<"\nAppuyer sur une touche pour quitter!";
  37.   cin>>a;
  38. }
  39. else if(choix=2)
  40.   {
  41.     //saisie des valeurs
  42.   cout<<"\nVeuillez entrer une somme en euros: ";
  43.   cin>>sommeFranc;
  44.   //appel de la fonction
  45.   sommeFranc=convertisseur2(sommeEuro);
  46.  
  47.   //affichage du resultat
  48.   cout<<"\n\nLe resultat de la conversion est: "<<sommeFranc<<endl;
  49.  
  50.   //pour que l'application ne quitte pas seule
  51.   cout<<"\nAppuyer sur une touche pour quitter!";
  52.   cin>>a;
  53.   }
  54. return((sommeFranc) || (sommeEuro));
  55. }

 




---------------
Le Tyran
Reply

Marsh Posté le 09-09-2002 à 18:00:43    

if (choix == '1';)...


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 09-09-2002 à 18:00:48    

bailly33 a écrit a écrit :

la faut m'expliquer parce que mon convertisseur est peut-etre totalement faux mais mon compilo lui me dit que tout est ok et lorsque je veux l'executer il ne se passe rien.
 

Code :
  1. double convertisseur2(double euro) <- prend euro en argument
  2. {
  3.   double franc;
  4.   double facteur = 6.55957;
  5.   euro = franc*facteur;            <- calcul avec euro comme résultat
  6.   return (franc);                  <- retourne franc d'on ne sait où...
  7. }

 



ben si ça ça marche, chapeau...

Reply

Marsh Posté le 10-09-2002 à 06:30:54    

Code :
  1. #include <iostream.h>

Ancienne version dépréciée, c'est peut-être la cause ?
Le standard c'est:

Code :
  1. #include <iostream>
  2. using namespace std;


 

Code :
  1. return((sommeFranc) || (sommeEuro));

Renvoyer 1 si un calcul a été fait ?!
 
Noms inexplicites ou faux, erreur flagrante, code excessivement long, instructions dupliquées...
Aïe !


Message édité par Musaran le 10-09-2002 à 06:31:17

---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 10-09-2002 à 10:01:00    

Avec ce qui précède normalement tu ne devrais pas avoir de problème... mais je rajoute juste :

Code :
  1. void main()
  2. {
  3. double sommeEuro,sommeFranc;
  4. ....
  5. return((sommeFranc) || (sommeEuro));
  6. }


Je trouve louche de faire un return dans le vide !  ;)

Reply

Marsh Posté le 11-09-2002 à 03:55:16    

bailly33 a écrit a écrit :

mon compilo lui me dit que tout est ok


Quand la compilation ne donne pas d'erreur, ça veut dire que le source est compilable, pas que le programme marche !


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 11-09-2002 à 08:56:47    

double convertisseur(double franc)  
  {  
      double euro;  
      double facteur = 6.55957;  
      euro = franc/facteur;  
      return (euro);  
  }  
   double convertisseur2(double euro)  
  {  
      double franc;  
      double facteur = 6.55957;  
      euro = franc*facteur;  
      return (franc);  
    }  
 
Déjà, ton convertisseur2 ne fonctionne pas. Tu n'as jamais calculé la valeur en franc (euro=franc*facteur). C'est l'inverse.
Commence donc déjà par changer cela.


---------------

Reply

Marsh Posté le 12-09-2002 à 15:06:01    

VOILA LES CORRECTIONS A APPPORTES ET RESUME EN UNE  
 
  double convertisseur2(double euro)  
 {  
     double franc;  
     double facteur = 6.55957;  
     franc = 1/facteur;     // <-- ici faut faire ca  
     return (franc*euro);  
   }  
 
 
 
ensuite tu as tes if(choix=1)   // <-- ouh c pas bo !!!
    if(choix=2)   // <-- deux fois en +
 
c pas ca c est if(choix == 1)  
        if(choix == 2)
 
 
 
 

Reply

Sujets relatifs:

Leave a Replay

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