Exercice langage C: Réaliser la classe point

Réaliser une classe point permettant de manipuler un point d'un plan.on prévoira:

-un point est définit par ses coordonnées x et y (des membres privés)

-un constructeur (vous pouvez également implémenter les trois types de constructeur)

-une fonction membre déplace effectuant une translation définie par ses deux arguments dx et dy (double)

-une fonction membre affiche se contentant d'afficher les coordonnées cartésiennes du point.

-une fonction membre saisir se contentant de saisir les coordonnées cartésiennes du point.

-une fonction membre distance effectuant calculant la distance entre deux point.

-une fonction membre milieu donnant le milieu d'un segment.

On écrira séparément:

-un ficher source constituant la déclaration et la définition de la classe.

- un petit programme d’essai (main) gérant ne la classe point.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Découverte et travail des classes. Utilisation d'un constructeur et d'un destructeur.
 //ficher source
#include 
#include 
class point
{
        double x;
        double y;
public:
        point();
    point(double,double);
    point(point &);
    ~point();
double get_x();
double get_y();
void set_x(double x1);
void set_y(double y1);
point deplace(double dx, double dy);
void affiche();
void saisir();
double distance(point &);
point milieu(point &);
};
point::point()
{}
point::point(double a,double b)
{
x=a;
y=b;
}
point::point(point &p)
{
        set_x(p.get_x());
        set_y(p.get_y());
}
point::~point()
{}
double point::get_x()
{
        return x;
}
double  point::get_y()
{
        return y;
}
void point::set_x(double a)
{
        x=a;
}
void point::set_y(double a)
{
        y=a;
}
point point::deplace(double dx,double dy)
{
 
        set_x(get_x()+dx);
 
        set_y(get_y()+dy);
        return *this;
 
}
double point::distance (point &p)
{
        double p1,x1,x2;
        x1=(get_x()-p.get_x())*(get_x()-p.get_x());
        x2=(get_y()-p.get_y())*(get_y()-p.get_y());
        //p1=sqrt(((get_x()-p.x)*((get_x()-p.x))+((get_y()-p.y)*(get_y()-p.y)));
        p1=sqrt(x1+x2);
        return p1;
}
void point::affiche()
{
        cout"les coordonnées sont:"endl;
        cout"x="get_x()endl;
        cout"y="get_y()endl;
}
void point::saisir()
{
        cout"donnée les coordonnées:"endl;
        cout"x="endl;
        cin>>x;
        cout"y="endl;
        cin>>y;
}
point point::milieu(point &p)
{
        point p1;
        p1.x=(get_x()+p.get_x())/2;
        p1.y=(get_y()+p.get_y())/2;
        return p1;
}
//programme d'essai(main)
#include
#include "pointt.h"
void main()
{point p(1,1);
point x(5,5);
point c;
        p.affiche();
        p.deplace(5,5);
        p.affiche();
        cout"la distance est : "p.distance(x);
        c=p.milieu(x);
        c.affiche(); 
}