Langage C++

déclaration class

//file.h

#ifndef Nom_class_h_
#define Nom_class_h_
using namespace std;

class Nom_class{
//---------------------------------declaration des attribus
public:
int age;
float salaire;
string nom;
//--------------------------constructeur
public :
Nom_class(){ //constructeur par defaut

}
Nom_class(int age,float salaire,string nom){ //constructeur parametré
this->age=age;
this->salaire=salaire;
this->nom=nom;
}
Nom_class(Nom_class &p){ //constructeur de recopie
this->age=p.age;
this->salaire=p.salaire;
this->nom=p.nom;
}

/* autre façon de declarer constrcteur de recopie
Nom_class(Nom_class *p){
this->age=p->age;
this->salaire=p->salaire;
this->nom=p->nom;

}
*/
// ------------------------------declaration des methode
// private:
void afficher(){
cout<<"salaire= "<<salaire<<" age="<<age<<" nom= "<<nom<<endl;
}
//-------------------------------------------------
};
#endif

///////////////////:

//main.cpp

#include <iostream>
#include <cstdlib>
#include<String>
#include "file.h"
main(){
Nom_class n ;
Nom_class n2(12,200.55,"salma");//declaration statique
Nom_class *n4=new Nom_class(40,20.5,"nada");//declaration dynamique
n.age=20;
n.salaire=12.5;
n.nom="aaa";
// cout<<"salaire= "<<n.salaire<<" age="<<n.age<<" nom= "<<n.nom<<endl;
n.afficher();
n2.afficher();
Nom_class n3=n2;
n3.afficher();
n4->age=50;
n4->afficher();
delete n4;
system("PAUSE");

}

class point

//point.h

#ifndef POINT_H
#define POINT_H

using namespace std;

class Point
{private:
double x,y;
public:
Point ();
Point (double,double);
void Setx(double);
void Sety(double);
double Getx();
double Gety();
double distance(const Point &P);
Point milieu(const Point &P);
};

#endif

/////////////

//point.cpp

#include "point.h"
#include <cmath>
Point::Point(){};
Point::Point(double x,double y){
this->x=x;
this->y=y;
}
void Point::Setx(double x){
this->x=x;
}
void Point::Sety(double y){
this->y=y;
}
double Point::Getx(){
return this->x;
}
double Point::Gety(){
return this->y;
}
double Point::distance(const Point &P)
{
double dx,dy;
dx = this->x - P.x;
dy = this->y - P.y;
return sqrt(dx*dx + dy*dy);
}

Point Point::milieu(const Point &P)
{
Point M;
M.x = (P.x+this->x) /2;
M.y = (P.y+this->y) /2;
return M;
}

///////////////:

//main.cpp

#include <cstdlib>
#include <iostream>
#include "point.h"
using namespace std;

int main(int argc, char *argv[])
{
Point A, B, C;
double d,t;
cout << "SAISIE DU POINT A" << endl;
cout << "Tapez l'abscisse : "; cin >> t;
A.Setx(t);
cout << "Tapez l'ordonnée : "; cin >> t;
A.Sety(t);
cout << endl;
cout << "SAISIE DU POINT B" << endl;
cout << "Tapez l'abscisse : "; cin >> t;
B.Setx(t);
cout << "Tapez l'ordonnée : "; cin >> t;
B.Sety(t);
C = A.milieu(B);
d = A.distance(B);
cout << endl;
cout << "MILIEU DE AB" << endl;
cout << "L'abscisse vaut : " << C.Getx()<< endl;
cout << "L'ordonnée vaut : " << C.Gety()<< endl;
cout << endl;
cout << "La distance AB vaut :" << d << endl;
system("PAUSE");
return EXIT_SUCCESS;
}

 

 

class rectangle

//rectangle.h

#ifndef RECTANGLE_H
#define RECTANGLE_H

class rectangle
{
public:
rectangle(double l1ini,double l2ini)
{//l1=1; l2=2;
l1=l1ini;
l2=l2ini;

}
~rectangle(){};
double perimetre(double a,double b);
void surface(double a,double b);
private:
double l1,l2;
};
#endif

//////////////////////////////////:

//rectangle.cpp

#include <cstdlib>
#include <iostream>
#include <string>
#include "rectangle.h"
using namespace std;
double rectangle::perimetre (double a,double b)
{ return (a+b)*2; }
void rectangle::surface (double a,double b)
{ cout<<"la surface est :"<<a*b<<endl;
cout<<"le produit de l1 et l2 est : "<<l1*l2<<endl; }

///////////////////////////////////////////////////////////:

//main.cpp

#include <cstdlib>
#include <iostream>
#include <string>
#include "rectangle.h"
using namespace std;

int main()
{rectangle p(1,2);
double c,d;
cout<<"Calcul du rectangle "<<endl;
cout<<" donner largeur: ";
cin>>c;
cout<<" donner longueur: ";
cin>>d;

cout<<"perimetre : "<<p.perimetre (c,d)<<endl;
p.surface (c,d);
system("PAUSE");

}

 

Fonction amie :friend functions(1)

// friend class
#include <iostream>
#include<cstdlib>
using namespace std;

class Square {

private:
int side;
public:
Square (int side) {
this->side=side;
}
friend class Rectangle;
};

class Rectangle {
int width, height;
public:
int area ()
{return (width * height);}
void convert (Square a);
};

void Rectangle::convert (Square a) {
width = a.side;
height = a.side;
}

int main () {
Rectangle rect;
Square sqr (4);
rect.convert(sqr);
cout << rect.area()<<endl;
system("pause");
return 0;
}

fonction amie: friend functions (2)

// friend functions
#include <iostream>
#include<cstdlib>
using namespace std;

class Rectangle {
int width, height;
public:
Rectangle() {}
Rectangle (int x, int y) {
this->width=x;
this-> height=y;
}
int area() {return width * height;}
friend Rectangle duplicate (const Rectangle&);
};

Rectangle duplicate (const Rectangle& param)
{
Rectangle res;
res.width = param.width*2;
res.height = param.height*2;
return res;
}

int main () {
Rectangle foo;
Rectangle bar (2,3);
foo = duplicate (bar);
cout << foo.area() << 'n';
system("pause");
return 0;
}

Heritage : derived classes

// derived classes
#include <iostream>
#include<cstdlib>
using namespace std;

class Polygon {
protected:
int width, height;
public:
Polygon(){}
Polygon(int width, int height)
{ this->width=width;
this->height=height;
}

virtual int area (){
cout<<"---"<<endl;
}
};

class Rectangle: public Polygon {

public:
Rectangle(){}
Rectangle(int width, int height): Polygon(width, height) {

}
int area ()
{ return width * height; }
};

class Triangle: public Polygon {

public:
Triangle(){}
Triangle(int width, int height): Polygon(width, height) {}
int area ()
{ return width * height / 2; }
};

int main () {
/*
Rectangle rect;
Triangle trgl;

cout << rect.area() << 'n';
cout << trgl.area() << 'n';
*/

Polygon *tab[3] ;

tab[0]=new Rectangle(4,5 );
tab[1]=new Triangle(4,5 );
tab[2]=new Rectangle(40,5 );

for(int i=0;i<3;i++){
cout <<tab[i]->area()<< 'n';
}

system("pause");
return 0;
}

class vecteur

#include <cstdlib>
#include <iostream>
using namespace std;

class vecteur3d{

int x;
int y;
int z;
public:
vecteur3d(int a=0,int b=0, int c=0);
friend void coincide (vecteur3d p, vecteur3d q);
};
vecteur3d::vecteur3d(int a,int b,int c){
x=a;
y=b;
z=c;
}
void coincide(vecteur3d p, vecteur3d q){
if(p.x==q.x && p.y==q.y && p.z==q.z){
cout<<"Les 2 vecteurs sont egaux"<<endl;
}
else cout<<"ne sont pas egaux"<<endl;
}
int main(){
vecteur3d v0;//x=0 y=0 z=0

vecteur3d v1(3,4,5);
vecteur3d v2(3,4,5);
coincide(v1,v2);
coincide(v0,v2);
system("pause");
return 0;
}

classe abstraite: class Forme

//forme.h

#ifndef FORME_H
#define FORME_H

class Forme // classe abstraite
{
public:
// le "= 0" à la fin indique que c'est une fonction virtuelle pure
// Surface de la forme
virtual double Surface() = 0;
// Nom de la forme
virtual char* GetName() = 0;
};

#endif

////////////////////////////////////////////////////////////////////////////////////////////////

//cercle.h

#ifndef CERCLE_H
#define CERCLE_H
#include "forme.h"

class Cercle : public Forme
{
public:
Cercle(double r)
{
rayon = r;
}
double Surface()
{
return (3.14 * (rayon * rayon));
}
char* GetName()
{
return "Cercle";
}
private:
double rayon;
};

#endif

/////////////////////////////////////////////

//rectangle.h

#ifndef RECTANGLE_H
#define RECTANGLE_H
#include "forme.h"

class Rectangle : public Forme
{
public:
Rectangle(double L, double l)
{
longueur = L;
largeur = l;
}
double Surface()
{
return (longueur * largeur);
}
char* GetName()
{
return "Rectangle";
}
private:
double longueur;
double largeur;
};

#endif

/////////////////////////////////////////////////////

//triangle.h

#ifndef TRIANGLE_H
#define TRIANGLE_H
#include "forme.h"

class Triangle : public Forme
{
public:
Triangle(double b, double h)
{
base = b;
hauteur = h;
}
double Surface()
{
return ((base * hauteur) / 2);
}
char* GetName()
{
return "Triangle";
}
private:
double base;
double hauteur;
};

#endif

////////////////////////////////

//main.cpp

#include <iostream>
#include "cercle.h"
#include "rectangle.h"
#include "triangle.h"

// MISE EN OEUVRE /////////////////////////////////////////////////////////////

using namespace std;

int main(int argc, char *argv[])
{
Forme *pt[3]; // Pointeur car on ne peut instancier une classe virtuelle
pt[0] = new Cercle(2.);
pt[1] = new Rectangle(2.5,4.);
pt[2] = new Triangle(3.,8.);

for(int i = 0; i < 3; i++)
cout << "Surface du "
<< pt[i]->GetName()
<< " : "
<< pt[i]->Surface()
<< endl;

system("PAUSE");

}

 

 

 

passage par reference

#include<cstdlib>
#include<iostream>
using namespace std;

void test(int &i)
{
cout<<" i dans le test ="<<i<<" addresse "<<&i<<endl;//50
i = 2;
cout<<" i dans le test ="<<i<<" addresse "<<&i<<endl; //50
return;
}

int main(void)
{
int i=3;
cout<<" i dans le main ="<<i<<" addresse "<<&i<<endl;//74
test(i);
cout<<" i dans le main ="<<i<<" addresse "<<&i<<endl;//74
system("pause");
return 0;
}

passage par adresse

#include<cstdlib>
#include<iostream>
using namespace std;

void test(int *i)
{
cout<<" i dans le test ="<<*i<<" addresse "<<i<<endl;//50
*i = 2;
cout<<" i dans le test ="<<*i<<" addresse "<<i<<endl; //50
return;
}

int main(void)
{
int i=3;
cout<<" i dans le main ="<<i<<" addresse "<<&i<<endl;//74
test(&i);
cout<<" i dans le main ="<<i<<" addresse "<<&i<<endl;//74
system("pause");
return 0;
}

passage par valeur

#include<cstdlib>
#include<iostream>
using namespace std;

void test(int i)
{
cout<<" i dans le test ="<<i<<" addresse "<<&i<<endl;
i = 2;
cout<<" i dans le test ="<<i<<" addresse "<<&i<<endl;
return;
}

int main(void)
{
int i=3;
cout<<" i dans le main ="<<i<<" addresse "<<&i<<endl;
test(i);
system("pause");
return 0;
}

class matériel

#include <iostream>
#include<conio.h>
#include <cstdlib>
using namespace std;

class Materiel {

private :

string nom;
int prix;
int nombre;

public :

Materiel(string nom,int prix,int nbr){
this->nom = nom;
this->prix = prix;
nombre = nbr;
cout << " Materiel cree :";
}

~Materiel(){
cout << " Materiel detruit "<<endl<<endl;
}

string getNom(){
cout << " Nom : "<< nom <<endl;
return nom;
}

int getNombre(){
cout << " Nombre : "<< nombre <<endl;
return nombre;
}

int getPrix(){
cout << " Prix : "<< prix <<endl;
return prix;
}

void setNom(string nom){
this->nom = nom;
cout << " Nom setted " <<endl;
}

void setPrix(int prix){
this->prix = prix;
cout << " Prix setted " <<endl;
}

void setNombre(int nbr){
nombre = nbr;
cout << " Nombre setted " <<endl;
}

void affiche(){
cout <<endl<<endl;
cout << " Nom : "<< nom <<endl;
cout << " Prix : "<< prix <<endl;
cout << " Nombre : "<< nombre <<endl;
}

void achete(int quantite){
if (nombre-quantite < 1) {
cout <<endl<<endl;
cout << "la quantite demande n est pas disponible " <<endl;
cout <<"la quantite disponible est : "<< nombre-1 <<endl;
}
else {
cout <<endl<<endl;
cout << "achat reussi le mantons total a payer est : "<< quantite*prix <<endl;
nombre-=quantite;
}
}

};

class Telephone :public Materiel {

private :

int autonomie;
bool _3G;
string resolution;

public :

Telephone(int autonomie,bool _3G,string resolution,string nom,int prix):Materiel(nom,prix,10){

this->autonomie = autonomie;
this->_3G = _3G;
this->resolution = resolution;
cout << " Telephone "<<endl;
}

~Telephone(){
cout <<endl<<endl;
cout << " Telephone detruit "<<endl<<endl;
}

void affiche(){
Materiel::affiche();
cout << " autonomie : "<< autonomie <<endl;
cout << " _3G : "<< _3G <<endl;
cout << " resolution : "<< resolution <<endl;
}

string getResolution(){
cout << " resolution : "<< resolution <<endl;
return resolution;
}

int getAutonomie(){
cout << " autonomie : "<< autonomie <<endl;
return autonomie;
}

bool get_3G(){
cout << " _3G : "<< _3G <<endl;
return _3G;
}

void setResolution(string resolution){
this->resolution = resolution;
cout << " Resolution setted " <<endl;
}

void set_3G(bool _3G){
this->_3G = _3G;
cout << " _3G setted " <<endl;
}

void setAutonomie(int autonomie){
this->autonomie = autonomie;
cout << " Autonomie setted " <<endl;
}

};

class Ordinateur :public Materiel {

private :

string processeur;
int frequence;
string memoire;

public :

Ordinateur(string processeur,int frequence,string memoire,string nom,int prix):Materiel(nom,prix,10){
this->processeur = processeur;
this->frequence = frequence;
this->memoire = memoire;
cout << " Ordinateur "<<endl;
}

~Ordinateur(){
cout << " Ordinateur detruit "<<endl;
}

void affiche(){
Materiel::affiche();
cout << " processeur : "<< processeur <<endl;
cout << " frequence : "<< frequence <<endl;
cout << " memoire : "<< memoire <<endl;
}

string getProcesseur(){
cout << " Processeur : "<< processeur <<endl;
return processeur;
}

string getMemoire(){
cout << " Memoire : "<< memoire <<endl;
return memoire;
}

int getFrequence(){
cout << " Frequence : "<< frequence <<endl;
return frequence;
}

void setMemoire(string memoire){
this->memoire = memoire;
cout << " Memoire setted " <<endl;
}

void setProcesseur(string processeur){
this->processeur = processeur;
cout << " Processeur setted " <<endl;
}

void setFrequence(int frequence){
this->frequence = frequence;
cout << " Frequence setted " <<endl;
}
};

int main(){

Materiel *tab[2];

tab[0]=new Telephone(7*24,true,"1266*620","nokia",2350);
tab[1]=new Ordinateur("intel core i7",4*1000,"16 Gb","LENOVO",6350);
cout<<endl<<endl<<endl;
for(int i=0;i<2;i++) {
tab[i]->affiche();
tab[i]->achete(4);
}

free(tab);
getch();
return 0;
}

class employe

//Employe.h

#ifndef EMPLOYE_H_INCLUDED
#define EMPLOYE_H_INCLUDED
using namespace std;

class Employe {
protected:
string nom;
string prenom;
int age;
public:
Employe(string nom, string prenom, int age);
virtual void Afficher();//redefinition @override
virtual ~Employe();
virtual double CalculSalaire() ;

};

#endif // EMPLOYE_H_INCLUDED

//commercial.h

#ifndef COMMERCIAL_H_INCLUDED
#define COMMERCIAL_H_INCLUDED
#include "Employe.h"
class Commercial:public Employe {
private:
double CA;
public:
Commercial(string nom , string prenom , int ,double);
~Commercial();
virtual void Afficher();
virtual double CalculSalaire();

};

#endif // COMMERCIAL_H_INCLUDED

//Manutentionnaire.h

#ifndef MANUTENTIONNAIRE_H_INCLUDED
#define MANUTENTIONNAIRE_H_INCLUDED
#include "Employe.h"
class Manutentionnaire: public Employe{
private:
int NombreHeures;
public:
Manutentionnaire(string nom , string prenom, int, int);
~Manutentionnaire();
virtual void Afficher();
virtual double CalculSalaire();

};

#endif

//Employe.cpp

#include <iostream>
#include "Employe.h"
using namespace std;
Employe::Employe(string nom , string prenom , int ag){
this->nom=nom;
this->prenom=prenom;
age= ag;
}
Employe::~Employe(){

}
void Employe:: Afficher(){
cout<<"nom :"<<nom<<endl;
cout<<"prenom :"<<prenom<<endl;
cout<<"age :"<<age<<endl;
}

//commercial.cpp

#include <iostream>

#include "Commercial.h"
Commercial::Commercial(string nom , string prenom, int age, double caf):Employe( nom , prenom , age){
CA=caf;
}
Commercial::~Commercial(){

}
void Commercial::Afficher(){
Employe::Afficher();
cout<<"chiffre d'affaire :"<<CA<<endl;
}
double Commercial::CalculSalaire(){
return 0.2*CA+400;
}

//Manutentionnaire.cpp

#include <iostream>

#include "Manutentionnaire.h"
using namespace std;

Manutentionnaire::Manutentionnaire(string nom , string prenom,int ag,int NH):Employe(nom, prenom, age){
NombreHeures=NH;
}
Manutentionnaire::~Manutentionnaire(){};
void Manutentionnaire::Afficher(){
Employe::Afficher();
cout<<"le nombre d'heures :"<<NombreHeures<<endl;
}
double Manutentionnaire::CalculSalaire(){
return 65*NombreHeures;
}

//main.cpp

#include <iostream>
#include "Commercial.h"
#include "Manutentionnaire.h"
#include "Employe.h"
using namespace std;
int main(int argc, char *argv[])
{ Employe *t[3];
t[0]=new Commercial("nad","aloaui", 22,40000);
t[1]=new Manutentionnaire("salma","kawtar",20, 220);
t[2]=new Commercial("ahmed","houssam",16, 30000);

for(int i=0; i<3 ; i++){
t[i]->Afficher();
}
for(int i=0; i<3 ; i++){
t[i]->Afficher();

cout<<"salaire = "<<t[i]->CalculSalaire()<<endl;

}

double moysal=0;
for(int j=0 ; j<3 ; j++){
moysal+=t[j]->CalculSalaire();}
moysal/=3;
cout<<"salaire moyen="<<moysal<<endl;
return 0;

}

 

 

class point avec operator

#include <cstdlib>
#include <iostream>
using namespace std;
class Point
{
private:
int x,y;
public:
Point (int,int);
Point operator +(Point);
void affiche();
};
Point::Point(int abs,int ord){
x=abs;y=ord;}
Point Point::operator +(Point p){
Point p1(0,0);
p1.x=x+p.x;
p1.y=y+p.y;
return p1;
}
void Point::affiche()
{
cout<<"("<<x<<","<<y<<")"<<endl;
}
main()
{
Point a(1,2),b(5,10);
Point c=a+b;
cout<<"a";
a.affiche();
cout<<"b";
b.affiche();
cout<<"c";
c.affiche();

system("pause");
}

class rationnel avec operator

//CRationnels.h

#ifndef CRATIONNELS_H_INCLUDED
#define CRATIONNELS_H_INCLUDED
#include<iostream>
using namespace std;
class CRationnels
{
private:

int x ;
int y ;
public :

CRationnels();
CRationnels(int a,int b);
void affiche() const;
void entrer();
int getnum() const;
int getden() const;
void setnum(int n);
void setden(int d);
void formereduite();
int pgdc(int n,long d);
void reduire();
void prod( const CRationnels &K);
void add( const CRationnels &K);
void sous( const CRationnels &K);
void div( const CRationnels &K);
CRationnels addition(CRationnels &P,CRationnels &K);
CRationnels multiplication(CRationnels &P,CRationnels &K);
CRationnels division(CRationnels &P,CRationnels &K);
CRationnels soustraction(CRationnels &P,CRationnels &K);
friend ostream & operator << (ostream & os, const CRationnels & R);
friend istream &operator>>( istream &input, CRationnels &D ) ;

};

#endif

////CRationnels.cpp

#include <iostream>
#include "CRationnels.h"

using namespace std;

CRationnels :: CRationnels():x(0),y(1)
{
}
CRationnels :: CRationnels(int a,int b):x(a),y(b)
{
}
void CRationnels :: affiche()const
{
cout <<"le nombre est:"<< x<<"/"<<y<< endl;
}

void CRationnels :: entrer()
{
cout <<"saisir le numerateur:" <<endl;
cin >>x;
cout <<"saisir le denomerateur:" <<endl;
cin >>y;
}
int CRationnels :: getnum() const
{
return x;
}
int CRationnels :: getden() const
{
return y;
}
void CRationnels ::setnum(int n)
{
x=n;
}
void CRationnels :: setden(int d)
{
y=d;
}
void CRationnels ::formereduite()
{
int min=x;
if (y<x)
{
min=y ;
}
int j=1;
for(int i=1;i<=min;i++)
{
if(x%i==0 && y%i==0)
{j=i ;}
}
x=x/j;
y=y/j;
}

int CRationnels :: pgdc(int n,long d)
{
while(d>0)
{
int res=n%d;
n=d;
d=res;
}
return n;
}
void CRationnels :: reduire()
{ int signe=1;
if(x<0)
{
x=-x;
signe=-signe;
}
if(y<0)
{
y=-y;
signe=-signe;
}
long diviseur=pgdc(x,y);
x=signe*x/diviseur;
y=signe*y/diviseur;
}
void CRationnels ::prod( const CRationnels &K)
{
x=x*K.x;
y=y*K.y;
this->formereduite();

}
void CRationnels :: add( const CRationnels &K)
{
x=x*K.y+K.x*y;
y=K.y*y;

reduire();

}
void CRationnels :: sous( const CRationnels &K)
{
x=x*K.y-K.x*y;
y=K.y*y;
this->formereduite();
}
void CRationnels ::div( const CRationnels &K)
{
x=x*K.y;
y=y*K.x;
this->formereduite();
}

CRationnels CRationnels :: addition(CRationnels &P,CRationnels &K)
{
CRationnels M;
M.x=P.x*K.y+K.x*P.y;
M.y=K.y*P.y;
M.formereduite();

return M;
}
CRationnels CRationnels :: soustraction(CRationnels &P,CRationnels &K)
{
CRationnels M;
M.x=P.x*K.y-K.x*P.y;
M.y=K.y*P.y;
M.formereduite();

return M;
}
CRationnels CRationnels ::multiplication(CRationnels &P,CRationnels &K)
{
CRationnels M;
M.setnum(P.getnum()*K.getnum());
M.setden(P.getden()*K.getden());
M.formereduite();
return M;
}
CRationnels CRationnels ::division(CRationnels &P,CRationnels &K)
{
CRationnels M;
M.setnum(P.getnum()*K.getden());
M.setden(P.getden()*K.getnum());
M.reduire();
return M;
}
ostream & operator << (ostream & os, const CRationnels & R)
{
return os <<"numerateur "<< R.x << " denominateur " << R.y;

}

istream &operator>>( istream &input, CRationnels &D )
{
input >> D.x >> D.y;
return input;
}

//main.cpp

#include <iostream>
#include "CRationnels.h"
using namespace std;

int main()
{
CRationnels A(3,4);
CRationnels B(1,3);
CRationnels C;
CRationnels D;
CRationnels R1;

cout<<"test de Add et addition" <<endl;
C= C.addition(A,B); C.affiche();
A.add(B);A.affiche();
A.setnum(3);
A.setden(4);
cout<<endl;
cout<<"test de sous et soustraction" <<endl;
C= C.soustraction(A,B); C.affiche();
A.sous(B);A.affiche();
A.setnum(3);
A.setden(4);
cout<<endl;

cout<<"test de prod et multipcation "<<endl;
C= C.multiplication(A,B); C.affiche();
A.prod(B);A.affiche();
A.setnum(3);
A.setden(4);
cout<<endl;
cout<<"test de division et div "<<endl;
C= C.division(A,B); C.affiche();
A.div(B);A.affiche();
A.setnum(3);
A.setden(4);
cout<<" test du << et >> :";
cout << CRationnels (2, 4) << endl;

cout << "saisir x et y : " << endl;
cin >> R1;
R1.affiche() ;
system("pause");
return 0;
}

Exercice Pointeur: remplir tableau

//Verification

#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
main()
{int a,b,c,*p1,*p2;

p1=(int*)malloc(sizeof(int));
p2=(int*)malloc(sizeof(int));
int x;
//
a=1;b=2;c=3;
cout<<"1: a=1;b=2;c=3"<<endl;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
//
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 2: p1=&a;p2=&c"<<endl;
p1=&a;p2=&c;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 3: *p1=(*p2)++;"<<endl;
*p1=(*p2)++;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 4 : p1=p2;"<<endl;
p1=p2;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 5:p2=&b; "<<endl;
p2=&b;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 6:*p1-=*p2; "<<endl;
*p1-=*p2;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
//
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 7:++*p2 "<<endl;
++*p2;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
//
cout<<" 8:*p1*=*p2;"<<endl;
*p1*=*p2;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
//
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 9:a=++*p2**p1;"<<endl;
a=++*p2**p1;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
//
//
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
cout<<" 10:p1=&a"<<endl;
p1=&a;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;
cout<<" SAISIR UN NOMBRE POUR PASSER A LA LIGNE SUIVANTE " ;
cin>>x;
//
cout<<" 11:*p2=*p1/=*p2;"<<endl;
*p2=*p1/=*p2;
cout<<"&a= "<<&a<<" a= "<<a<<endl;
cout<<"&b= "<<&b<<" b= "<<b<<endl;
cout<<"p1= "<<p1<<" *p1 "<<*p1<<endl;
cout<<"p2= "<<p2<<" *p2 "<<*p2<<endl;

cout<<"FINnn"<<endl;
system("pause");
}