Bonsoir.
J'ai honte de poster ça (car mon niveau C++ est plutôt C--) mais impossible, même après lecture des cours, de trouver ce qui pèche dans ce qui suit.
Sous avec Devc++ Windows.
J'imagine que les pros du C vont bien rire, mais sauront m'éviter des heures de recherches de débutant ...
Programmes duree :
duree.h
-------
duree.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #ifndef _DUREE #define _DUREE #include <iostream> class Duree { friend class DateHeure; private: long jour; int heure, minute; public: Duree(); Duree(long,int,int); Duree(long);//Constructeur de conversion en minutes en Durée long dureeEnMinute();//Conversion d'une Duree en minutes }
---------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include "duree.h" #include <iostream> using namespace std; Duree::Duree() { jour=0 ; heure=0 ; minute=0;} Duree::Duree(long a, int b, int c) { jour=a ; heure=b; minute=c; } Duree::Duree(long a) { minute=a%60; a-=minutes; heure=(a/60)%24; jour=((a/60)-heure)/24; } long Duree::dureeEnMinutes() { long somme; somme = minute + (60*heure) + (24*60*jour); return somme; } Duree Duree::operator+(Duree d) { return Duree(dureeEnMinute()+d.dureeEnMinute()); } Duree Duree::operator-(Duree d) { long a,b; a=dureeEnMinute(); b=d.dureeEnMinute(); if (a>b) {return Duree(a-b)}; else {return Duree(b-a)}; } Duree::operator long() { return dureeEnMinutes(); } istream & operator >> (istream & entree, Duree & d) { entree>>d.jour>>d.heure>>d.minute; return entree; } ostream & operator << (ostream & sortie, Duree d) { sortie<<"Jour: " << d.jour<<" heure: "<<d.heure<<" Minute: "<<d.minute; return sortie; }
Partager