begin process at 2012 05 27 14:34:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > CLASSES ET OBJETS EN C++

CLASSES ET OBJETS EN C++


 Information sur la source

Note :
5,14 / 10 - par 7 personnes
5,14 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :classe, derivé, polynome, objet, math Niveau :Débutant Date de création :22/09/2005 Date de mise à jour :23/09/2005 02:58:32 Vu :10 000

Auteur : sbeuz

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • //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
  • */
//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

*/



 Historique

23 septembre 2005 02:58:32 :
Polymorphisme

 Sources du même auteur

Source avec Zip Source avec une capture ALLOCATION DYNAMIQUE DE LA MEMOIRE, LISTES ET POINTEURS, LA...
ALGO GÉNÉRAL DE RECHERCHE DICHOTOMIQUE APRÈS UN TRIE BUBBLE ...

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

UTILISATION DES TYPELIST EN C++ par wyden
RESOLUTION D'UNE EQUATION DU SECOND DEGRÉ AVEC RACINES REEL... par maloum41
Source avec Zip LIBRAIRIE JSON C++ par ordiman85
Source avec Zip TRANSFORMER UN ENTIER EN DEUX NOMBRES COMPOSÉ DES MEMES CHIF... par thebroyeur
Source avec Zip NSTRING (UPDATE) VERSION 1.5 par NitRic

Commentaires et avis

Commentaire de satellite34 le 22/09/2005 13:26:08

salut,

Pourquoi on t' a mis 2 a toi????
Erf, comprends pas tout; enfin, je t'ai mis 10 pour compenser, mais bon, j'entrave tchi aux maths alors....

J' aurai passé mon chemin si t'avais pas eu 2
@+
ROOT_DIEU

Commentaire de sbeuz le 22/09/2005 14:21:30

"J' aurai passé mon chemin si t'avais pas eu 2"

Merci pour tout... A+

Commentaire de donantonio le 22/09/2005 23:25:01

Il me semble que la conception de ce code pourrait être significativement améliorée.
Par exemple, il est souhaitable que la classe de calcul, qui comme son nom l’indique réalise des calculs, ne fasse pas d’affichage. De même, un des grande force de C++ est de permettre la création de classes abstraites dont la spécificité est l’indépendance de type. En d’autre terme l’algorithme ne fonctionne que pour de float ce qui est dommage.

Commentaire de satellite34 le 22/09/2005 23:29:37

pf, a mon avis tu vas un peu loin la lol, mdr;*

Je pense que sbeuz n' a encore pas toutes ces notions de classes
abstraites ou de polymorphisme etc , vu ces cs .

Donc voila, en théorie c' est vrai qu' il serai oportun de dériver un peu tout ca mais bon, est-ce bien raisonnable pour un cs de cette trempe?

@+
ROOT_DIEU

Commentaire de sbeuz le 23/09/2005 03:03:00

Suite aux commentaires voir cs ligne 137. A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Pointeur et objet ET collection d'objet [ par MrKribou ] En fait je savais pas trop quoi mettre comme titre pour pas copier :pBon je vous explique mon probleme (j'ai pas le source de ce probleme sous la main CObject [ par ifren ] salutj'ai un petit probleme,bon j'ai une classe data qui herite de la classe CObject, jusque la normalj'ai un tel codeData::Data(): // Copie de l'obje Comment faire un tableau d'objet ?? [ par vinvay ] Voilà mon problème : j'ai une classe avec deux constructeurs, un qui ne fait rien et l'autre qui initialise une variable de cette classe.Je souhaite f vector et objet de classe [ par cppdupdup34 ] voila mon pbclass tutu {...};int main{...vector&lt;tutu&gt; prout;tutu objet;prout.push_back(objet);et la ...492 C:\Dev-Cpp\include\c++\bits\stl_vecto est-ce que l'adresse d'un objet est la meme que les membres ? [ par rick_moins_moins ] Bonjour,je souhaiterais savoir si l'adresse d'une instance de classe est la meme que l'adresse d'une donnee membre de cette classe ? &nbsp; Classe liste chaînée générique [ par marik7335 ] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Salut &#224; tous, &nbsp; Je souhaite g&#233;rer un parc de v&#233;hicules contenant des motos et des voitures. Sécurité - reverse engineering (rendre difficile son utilisation) [ par jockos ] J'ai une classe A et une classe B qui contient un objet A :class A{private: unsigned char * key;public: ........ .........};class B{private: Objet COM [ par 0xYg3n3 ] Bonsoir, Voila je ne sais pas si je vais arriver a me faire comprendre. Je me demandais si un objet qui n'a pas initialiser d'interfaces COM peut qu classe heritage [ par abdoulax ] Bonjours, Je suis bloqu&#233; surun probleme d'heritage, voici la probl&#233;matique : Nous avons un objet soit carr&#233;, triangulaire ou rond. Mai Les types [ par emmanuel9 ] &nbsp;Bonjour &#224; tous, J'ai un objet TextBox par exemple et je voudrais savoir si il h&#233;rite de la classe Object ? (c'est un cas d'&#233;cole)


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales