Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
treize plus quatre-vingt cinq
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

stormin
03-01-2010 11:42:32

merci
Thibault

Thibault
03-01-2010 06:23:50

Ton problème viens du fait que tes fonctions de somme, différence, produit, quotient sont définies comme retournant des doubles alors qu'elles doivent retourner des frac!
De plus, ta structure frac est définie comme un couple de double. Pourquoi pas des int?
Un problème un peu plus mesquin vient de ta fonction "saisie de fraction". Qu'est ce qui se passe si l'utilisateur lambda te donne 0 comme dénominateur?
Pour finir un détail: Tu as déclaré une variable "mois" au lieu du "moins" que tu utilises plus tard.

Selon moi tu as toutes les clés en main pour corriger ton code, mais je ne suis de loin pas un expert en programmation.

Salutations,

stormin
02-01-2010 16:08:12

Bonsoir
j'ai travaller sur un prgramme qui fait des opérations sur une fraction mais il y a un défauts dans ce dernier que je trouve pas
merci de m aider


/* on utilise la notion de structure et fonction pour faire des opérations sur une fraction*/
# include <iostream>
# include <cmath>
using namespace std;
struct fract
{
       double N,D;};
       void saisie_fract (fract &F)
       {
            cout<< "donnez la valeur de nominateur de la fraction "<<endl;
            cin>>F.N;
            cout<< "donnez la valeur de dénominateur de la fraction "<<endl;
            cin>>F.D;
            cout<<endl;
            }
       void affichage_fract (fract F)
       {
            cout<<" votre fraction finale  est "<<F.N<<"/"<<F.D<<endl;
            cout<<endl;
            }     
       double add_fract (fract A,fract B)
       {
              fract C;
              C.N=A.N*B.D+B.N*A.D;
              C.D=A.D*B.D;
              return(C.N,C.D);
              }
       double diff_fract (fract A,fract B)
       {
              fract C;
              C.N=((A.N*B.D)-(B.N*A.D));
              C.D=A.D*B.D;
              return(C.N,C.D);
              } 
       double pro_fract (fract A,fract B)
       {
              fract C;
              C.N=A.N*B.N;
              C.D=A.D*B.D;
              return(C.N,C.D);
              }   
        double rapp_fract (fract A,fract B)
       {
              fract C;
              C.N=A.N*B.D;
              C.D=A.D*B.N;
              return(C.N,C.D);
              } 
        int main()
        {
            fract a,b;
            fract plus,mois,fois,sur;
            cout<<" saisie de la fraction F1 "<<endl;
            saisie_fract (a);
            cout<<" saisie de la fraction F2 "<<endl;
            saisie_fract (b);
            plus  = add_fract (a,b);
            moins = diff_fract (a,b);
            fois = pro_fract (a,b);
            sur =  rapp_fract (a,b);
            cout<<"votre fraction addition vaut   "<<"="<<endl;
            affichage_fract (plus);
            cout<< " FIN "<<endl;
cout<<"votre fraction difference vaut   "<<"="<<endl;
            affichage_fract (moins);
            cout<< " FIN "<<endl;
cout<<"votre fraction produit vaut   "<<"="<<endl;
            affichage_fract (fois);
            cout<< " FIN "<<endl;
cout<<"votre fraction rapport vaut   "<<"="<<endl;
            affichage_fract (sur);
            cout<< " FIN "<<endl;
system("PAUSE");
return 0;
}

Pied de page des forums