Operator -

manyyy67 Messages postés 34 Statut Membre -  
manyyy67 Messages postés 34 Statut Membre -
Bonjour,
je debute en programmation...pour apprendre je suis un tutoriel. je suis dans le chapitre de la surcharge de fonction:
une exercice d'entrainement me demande d'aditionner deux Objet Duree
(int heures, int minutes, int secondes)
donc
resultat = duree1 + duree2
j'y suis parvenu...
par contre lorsque j'essaie d'utiliser operator-

Duree& Duree::operator-=(const Duree &Duree2)
{
m_secondes -= Duree2.m_secondes;
if(m_secondes < 0)
{
m_minutes -= m_secondes /60;
m_secondes %= 60;
}

m_minutes -= Duree2.m_minutes;
if(m_minutes < 0)
{
m_heures -= m_minutes /60;
m_minutes %= 60;
}

m_heures -= Duree2.m_heures;
if(m_heures < 0)
{
m_heures = 0;
}

return *this;
}

sa ne fonctionne pas...
sa fait trois heure que je cherche la solution...

A voir également:

2 réponses

newelfik Messages postés 52 Statut Membre 7
 
Et quelle est l'erreur ?
0
manyyy67 Messages postés 34 Statut Membre
 
Merci de ta reponse;
le programme se compile tout est ok.
j'ai deux objet: duree1 et duree2
si j'entre une duree 1 superieur(en heure, minutes, et secondes) a duree 2 tout va bien.
par contre si j'entre (par exemple):
duree1: 4h40m20s et duree 2 3h50m40s

le resultat est :
1h-10m-20s

pourtant avec mes if j'ai bien exprime se qu'il faut faire si le nombre de minutes ou seconde est inferieur a 0....
0

Discussions similaires