Vous êtes sur la page 1sur 4

// Correction TP 2

// QUEST 1 & 2

#include<iostream>
using namespace std;

struct Horaire{
int heures;
int minutes;
};

void init(Horaire & x,int h, int m){

x.heures= (h+(m/60)) %24;


x.minutes= m%60;

void init(Horaire & x, int m){


x.heures=(m/60) % 24;
x.minutes=m%60;

int getMin(Horaire x){


return x.heures*60+x.minutes;
}

void addHeures( Horaire & x, int h){

x.heures=x.heures+h;
x.heures=x.heures%24;

void addMinutes(Horaire & x, int m){

x.minutes=x.minutes+m;

x.heures = (x.minutes / 60 + x.heures) % 24 ;


x.minutes =x.minutes%60 ;

int duree(Horaire x, Horaire y){


return (getMin(x) - getMin(y));

bool precede( Horaire x, Horaire y){


if(duree(x,y)<0) return true;
else return false;

}
void afficher(Horaire x){
cout<<x.heures<<"heures "<<x.minutes<<"min "<<endl;
}

main(){

Horaire A,B;
init(A,25,65);
afficher(A);

init(B,100);
afficher(B);

cout<<"nbre de minutes: "<<getMin(A)<<endl;

addHeures(B,2);
afficher(B);

cout<<"duree entre A et B: "<<duree(A,B)<<endl;

if (precede(A,B)==true)
cout<<A.heures<<"h "<<A.minutes<<"min precede "<<B.heures<<"h "<<B.minutes<<"min
"<<endl;
else
cout<<B.heures<<"h "<<B.minutes<<"min precede "<<A.heures<<"h "<<A.minutes<<"min
"<<endl;

// QUEST 3

#include<iostream>
using namespace std;

struct Horaire{
int heures;
int minutes;

void init(int h, int m){

heures= (h+(m/60)) %24;


minutes= m%60;

void init( int m){


heures=(m/60) % 24;
minutes=m%60;

int getMin(){
return heures*60+minutes;
}
void addHeures( int h){

heures=heures+h;
heures=heures%24;

void addMinutes( int m){

minutes=minutes+m;

heures = (minutes / 60 + heures) % 24 ;


minutes =minutes%60 ;

int duree(Horaire x){


return ((heures*60+minutes) - x.getMin());

bool precede( Horaire x){


if((heures*60+minutes) - x.getMin()<0) return true;
else return false;

void afficher(){
cout<<heures<<"heures "<<minutes<<"min "<<endl;
}

};

main(){

Horaire A,B;
A.init(25,65);
A.afficher();

B.init(100);
B.afficher();

cout<<"nbre de minutes: "<<A.getMin()<<endl;

B.addHeures(2);
B.afficher();

cout<<"duree entre A et B: "<<A.duree(B)<<endl;

if (A.precede(B)==true)
cout<<A.heures<<"h "<<A.minutes<<"min precede "<<B.heures<<"h "<<B.minutes<<"min
"<<endl;
else
cout<<B.heures<<"h "<<B.minutes<<"min precede "<<A.heures<<"h "<<A.minutes<<"min
"<<endl;
}

Vous aimerez peut-être aussi