Les double...

Résolu
cs_avalonclass Messages postés 6 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 24 février 2008 - 14 févr. 2008 à 13:27
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 15 févr. 2008 à 10:10
Bonjour a vous, j'ai écris un ptit programme de rien du tout mais celui ci me renvoie des valeurs completement bidon quand je l'utilise... qlq'un saurait d'ou cela peu venir ?

voila le code

--------------------------------------------------------------------------------------
#include
#include <math.h>


struct Vecteur
{
       double u;
       double v;
       double w;
};


void Affvecteur(Vecteur vecteur)
{
     cout <<" u:"<< vecteur.u <<"\n;";
     cout <<" v:"<< vecteur.v <<"\n;";
     cout <<" w:"<< vecteur.w <<"\n;";
}


Vecteur Definir ( double vu,double vv,double vw )
{
        Vecteur vecteuradef;
        vu = vecteuradef.u;
        vv = vecteuradef.v;
        vw = vecteuradef.w;
        return vecteuradef;
}


int Norme ( Vecteur vecteur )
{
       double norme;
       norme=sqrt(vecteur.u*vecteur.u+vecteur.v*vecteur.v+vecteur.w*vecteur.w);
       return norme;
}


Vecteur Addition (Vecteur vecteur1, Vecteur vecteur2)
{
        Vecteur addition;
        addition.u=vecteur1.u+vecteur2.u;
        addition.v=vecteur1.v+vecteur2.v;
        addition.w=vecteur1.w+vecteur2.w;
        return addition;
}


Vecteur oppose( Vecteur vecteur)
{
        Vecteur oppose;
        oppose.u=(vecteur.u)*(-1);
        oppose.v=(vecteur.v)*(-1);
        oppose.w=(vecteur.w)*(-1);
        return oppose;
}


Vecteur soustraction (Vecteur vecteur1, Vecteur vecteur2)
{
        Vecteur resusoustr;
        resusoustr=Addition(vecteur1,oppose(vecteur2));
        return resusoustr;
}


Vecteur multiplication (Vecteur vecteur1, double multi)
{
        Vecteur resumulti;
        resumulti.u=((vecteur1.u)*multi);
        resumulti.v=((vecteur1.v)*multi);
        resumulti.w=((vecteur1.w)*multi);
        return resumulti;
}




Vecteur produitvecto(Vecteur vecteur1, Vecteur vecteur2)
{
        Vecteur resuprod;
        resuprod.u=((vecteur1.v*vecteur2.w)-(vecteur2.v*vecteur1.w));
        resuprod.v=((vecteur1.u*vecteur2.w)-(vecteur2.u*vecteur1.w));
        resuprod.w=((vecteur1.u*vecteur2.v)-(vecteur2.u*vecteur1.v));
        return resuprod;
}


int main()
{
    short unsigned choix;
    Vecteur vecteurn1;
    Vecteur vecteurn2;
    Vecteur vecteurn3;
    double u=0;
    double v=0;
    double w=0;
   
     do
     {   
         cout << " que voulez vous faire \n"
         << " 1- definir vecteur \n"
         << " 2- effectuer une multiplication \n"
         << " 3- effectuer une addition \n"
         << " 4- effectuer une soustraction \n"
         << " 5- effectuer une produit vectoriel \n"
         << " 6- multiplication par -1 \n"
         << " 7- montrer les vecteur\n"
         << " 0- quitter le programme\n";
         cout << "saisir action>";
         cin >> choix;
        
         switch (choix)
         {
                case 1:
                     cout <<" 1- definir vecteur \n";
                    
                     cout <<" vecteur numero:1\n";
                     cout <<"u:\n";
                     cin >>u;
                     cout <<"v:\n";
                     cin >>v;
                     cout <<"w:\n";
                     cin >>w;
                     vecteurn1=Definir(u,v,w);
                    
                     cout <<" vecteur numero:2\n";
                     cout <<"u:\n";
                     cin >>u;
                     cout <<"v:\n";
                     cin >>v;
                     cout <<"w:\n";
                     cin >>w;
                     vecteurn2=Definir(u,v,w);
                    
                     cout <<" vecteur numero:3\n";
                     cout <<"u:\n";
                     cin >>u;
                     cout <<"v:\n";
                     cin >>v;
                     cout <<"w:\n";
                     cin >>w;
                     vecteurn3=Definir(u,v,w);
                    
                     break;
                case 2:
                     cout <<" 2- effectuer une multiplication \n";
                    
                     break;
                case 3:
                     cout <<" 3- effectuer une addition \n";
                    
                     break;
                case 4:
                     cout <<" 4- effectuer une soustraction \n";
                    
                     break;
                case 5:
                     cout <<" 5- effectuer une produit vectoriel \n";
                    
                     break;
                case 6:
                     cout <<" 6- multiplication par -1 \n";
                     break;
                case 7:
                     cout <<" 7- voici les vecteur \n";
                     cout<<"vecteur1\n";
                     Affvecteur ( vecteurn1);
                     cout<<"vecteur2\n";
                     Affvecteur ( vecteurn2);
                     cout<<"vecteur3\n";
                     Affvecteur ( vecteurn3);
                    
                     break;
                case 0:
                     cout <<" Au revoir\n";
                    
                     break;
               
         };
     }while(choix!=0);


     system("PAUSE");


    return 0;
   
}
------------------------------------------------------------------

Je suis en train de faire les "liens" entre ma fonctions main et les divers fonctions de calcul sur les vecteurs. J'ai testé ma fonction
definir(double,double,double) et affvecteur(vecteur) cepedant l'or de laffichage avec affvecteur(vecteur) j'ai des valeurs de vecteur qui ne correspond pas du tout a ce que j'ai entré. merci d'avance pour l'aide que vous pourrez me donné.

21 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
15 févr. 2008 à 10:10
SAKingdom -> Arf ! Content que l'on se soit mis d'accord.


DeAtHCrAsH -> Bah si on prend wikipedia par exemple,
optimisation rime "généralement" avec recherche des meilleurs
performances possibles. Je voulais juste préciser que ce n'était pas ce
qui était optimisé ici. M'enfin, c'est vrai que c'était jouer sur les
mots... Désolé.
0
Rejoignez-nous