Bonjour,
je voulais avoir votre avis sur une partie de mon code qui fait des choses vraiment bizarre...disons que la condition d'un if ne se fait pas ....
voilà mon code avec son if :
PenroseI::PenroseI(){}
PenroseI::PenroseI(Point pta,Point ptb,Point ptc):TriIso(pta,ptb,ptc)
{
double phi=0;
phi=((1+ sqrt((double)5))/2);
double test=0;
if(getsommet()=='c'){
test=((getlongbase())/(getlongcotiso()));
cout<<phi<<endl;
cout<<test<<endl;
if((abs(phi-test))==0,000001){
cout<<abs(phi-test)<<endl;
cout<<"Le triangle est un triangle de Penrose de type I"<<endl;
}
else{
cout<<"c'est pas un penrose -_-"<<endl;
}
}
else if(getsommet()=='b'){
test=((getlongbase())/(getlongcotiso()));
cout<<test<<endl;
if(abs(phi-test)==0,000001){
cout<<abs(phi-test)<<endl;
cout<<"Le triangle est un triangle de Penrose de type I"<<endl;
}
else{
cout<<"c'est pas un penrose -_-"<<endl;
}
}
else if(getsommet()=='a'){
test=((getlongbase())/(getlongcotiso()));
cout<<test<<endl;
if(abs(phi-test)==0,000001){
cout<<abs(phi-test)<<endl;
cout<<"Le triangle est un triangle de Penrose de type I"<<endl;
}
else{
cout<<"c'est pas un penrose -_-"<<endl;
}
}
}
il faut savoir que la valeur getsommet, getlongcotiso et getlongbase viennent d'une classe mère TriIso car la classe Penrose en hérite
je vais donc vous mettre ma classe TriIso également :
TriIso::TriIso(Point a,Point b,Point c)
{
if ((a.Compoint(b)==0)&&(b.Compoint(c)==0)&&(c.Compoint(a)==0)) //si des point tous != alors..
{ //...c'est un triangle simple
cout << "Ces points forment un triangle "<<endl;
if ((a.Calclong(b))==(b.Calclong(c))){//si ab=bc -> sommet=b
sommet = 'b';
cout << "isoc\x8Ale en b" << endl;
longbase=(c.Calclong(a));
cout<<"La longueur de la base est : "<< longbase <<endl;
longcotiso=(b.Calclong(c));
cout<<"La longueur d'un cot\x82 isoc\x8Ale est : "<< longcotiso <<endl;
}
else if ((b.Calclong(c))==(c.Calclong(a))){//si bc=ca -> sommet=c
sommet = 'c';
cout << "isoc\x8Ale en c" << endl;
longbase=(a.Calclong(b));
cout<<"La longueur de la base est : "<< longbase <<endl;
longcotiso=(a.Calclong(c));
cout<<"La longueur d'un cot\x82 isoc\x8Ale est : "<< longcotiso <<endl;
}
else if ((c.Calclong(a))==(a.Calclong(b))){//si ca=ab -> sommet=a
sommet = 'a';
cout << "isoc\x8Ale en a" << endl;
longbase=(c.Calclong(b));
cout<<"La longueur de la base est : "<< longbase <<endl;
longcotiso=(a.Calclong(c));
cout<<"La longueur d'un cot\x82 isoc\x8Ale est : "<< longcotiso <<endl;
}
else{
cout << "non isoc\x8Ale" << endl;
}
}
else{
cout<<"Ce n'est pas un triangle"<<endl;
}
}
char TriIso::getsommet(){
return(sommet);
}
void TriIso::setsommet(char sommet) {
this->sommet = sommet;
}
double TriIso::getlongbase(){
return(longbase);
}
void TriIso::setlongbase(double longbase) {
this->longbase = longbase;
}
double TriIso::getlongcotiso(){
return(longcotiso);
}
void TriIso::setlongcotiso(double longcotiso) {
this->longcotiso = longcotiso;
}
et voilà ce que m'affiche ma console windows :
appel du constructeur simple : 0035A3D0 1 1
appel du constructeur simple : 0035A490 1 3
appel du constructeur simple : 0035A4D8 2 2
Ces points forment un triangle
isocèle en c
La longueur de la base est : 2
La longueur d'un coté isocèle est : 1.41421
1.61803 <---------Valeur de phi
1.41421 <---------Valeur de test
0.20382 <---------Valeur de la sous traction de phi - test
Le triangle est un triangle de Penrose de type I <---------Résultat du if dans Penrose
Appuyez sur une touche pour continuer...
Donc si quelqu'un pouvait m'aider à propos de ce if....
Merci,
Cordialement, ichigoZ710
