Utilisation de l'Objet à travers la Classe Calcul qui dérive une fonction polynomiale : Y(X) = A X^n + B et utilise la Librairie "math.h".
Rappel : Soit Y'(X) la dérivée de Y(X) alors Y'(X) = A n X^(n-1)
Source / Exemple :
//Librairies
#include <...>
#include <math.h>
//Variables Globales
float a,b,c;
char rep;
//Definition de l'objet calcul soit une fonction ax^c+b ou a,b,c sont connus
class calcul
{ float a,b,c; //DECLARATION DES FONCTIONS MEMBRES
public: calcul(float,float,float);//constructeur
void deriver(); //Traitement->derive l'objet fonction
void afficher(); //Traitement->affichage l' objet fonction
~calcul(); //destructeur
};
// DEFINITION DES FONCTIONS MEMBRES
calcul::calcul(float nb1, float nb2,float nb3)
{ a=nb1;
b=nb2;
c=nb3;
}
void calcul::afficher()
{float val;
//Faire un switch !
if((a==0)&&(b==0))
{cout<<"FONCTION SAISIE NULLE : Y(X) = 0 ";
cout<<"\a";
}else if((b==0)&&(c==0))
{cout<<"FONCTION SAISIE : Y(X) = "<<a;
}
else if(a==0)
{cout<<"FONCTION SAISIE : Y(X) = "<<b;
}else if(b==0)
{cout<<"FONCTION SAISIE : Y(X) = "<<a<<" X^"<<c;
}else if(c==0)
{val=a+b;
cout<<"FONCTION SAISIE : Y(X) = "<<val;
}else
{if(b<0)
{val=b*-1;
cout<<"FONCTION SAISIE : Y(X) = "<<a<<" X^"<<c<<" - "<<val;
}else
{ cout<<"FONCTION SAISIE : Y(X) = "<<a<<" X^"<<c<<" + "<<b;
}
}
}
void calcul::deriver()
{float val1;
if(a!=0)
{ cout<<"FONCTION DERIVEE : Y'(X) = ";
if (c==0)
{cout<<"0";
}else if(c==1)
{cout<<a;
}else
{val1=c-1;
cout<<a*c<<" X^"<<val1;
}
}else{cout<<"FONCTION DERIVEE NULLE : Y'(X) = 0";}
}
calcul::~calcul()
{
}
//Definition de l'objet point
class point
{ int x,y;
public: point(int,int); /* Constructeur */
void deplacer(int,int);
void afficher();
~point(); /* Destructeur */
};
// Déclaration des fctions membres appartenant a l'objet point
point::point(int abs,int ord)
{ x=abs;
y=ord;
}
void point::deplacer(int pas_x,int pas_y) /*pasx pasy pour le pas
de deplacement de l' objet*/
{ x=x+pas_x;
y=y+pas_y;
}
void point::afficher()
{ gotoxy(x,y);
}
point::~point()
{
}
//Fonctions et procedures generales
void menu(point p)
{ cout<<"--------------------------------------------------------------------------------\n";
p.deplacer(19,1);
p.afficher();
cout<<" SAISIR UNE FONCTION POLYNOMIALE Y(X) \n";
cout<<"--------------------------------------------------------------------------------\n";
cout<<"\n\n Y(X) = a X^n + b\n";
cout<<"\na : ";
cin>>a;
cout<<"\n";
cout<<"n : ";
cin>>c;
cout<<"\n";
cout<<"b : ";
cin>>b;
cout<<"\n";
}
//PROG PRINCIPAL
void main()
{rep='o';
while(rep=='o')
{point p(1,1); /* Construction de l'objet p de deplacement de curseur
de type point, initialisé a
O(1,1) */
p.afficher(); /* affichage du curseur a l'endroit defini a son
initialisation */
menu(p);
calcul f1(a,b,c); //creation de la fonction 1, objet de type calcul
p.deplacer(20,10);
p.afficher();
f1.afficher();
p.deplacer(0,2);
p.afficher();
f1.deriver();
cout<<"\n\nSaisir une autre fonction (o/n)?";
cin>>rep;
clrscr();
}
cout<<"\FIN";
getch();
}
/* Suite aux commentaires cette partie a été ajouté
mais je ne suis pas sûr que c'est le resultat attendu*/
Classe calcul{ ...
public: virtuelle procedure derive();
};
Classe gencalc : public calcul{ ...
public: procedure derive();
};
calcul *calc;
gencalc *gc;
calc->derive(); //Derive Calcul
gc->derive();
calc<-gc; (calc pointe sur gc)
calc->derive(); //Derive un Calcul Général
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.