All pastes #745805 Raw Edit

Untitled

public text v1 · immutable
·published 2007-10-22 18:24 UTC
rendered paste body
#include <iostream.h>

struct Time {
	int hour;
	int minute;
	int second;
};

void PrintTime(Time);
Time SetTime(void);
void CheckTime(Time *);
int CalcSeconds(Time);
Time AddTime(Time, Time);

int main() {
	int secsA, secsB;
	Time ClockA, ClockB, ClockC;
	ClockA = SetTime();
	ClockB = SetTime();
	CheckTime(&ClockA);
	CheckTime(&ClockB);
	PrintTime(ClockA);
	PrintTime(ClockB);
	secsA = CalcSeconds(ClockA);
	secsB = CalcSeconds(ClockB);
	cout << "Sunolo deuteroleptwn Clock A : " << secsA << endl ;
	cout << "Sunolo deuteroleptwn Clock B : " << secsB << endl ;
	ClockC = AddTime(ClockA, ClockB);
	cout << "To athrisma tou ClockA (" << ClockA << ") k tou ClockB (" << ClockB << ") einai : " << ClockC << endl ;
	return 0;
}

Time AddTime(Time Clock1, Time Clock2){
	int kratoumeno = 0;
	Time Clock;
	Clock.second = Clock1.second + Clock2.second ;
	if (Clock.second > 59){
		Clock.second -= 60;
		kratoumeno=1;
	}
	Clock.minute = Clock1.minute + Clock2.minute + kratoumeno ;
	kratoumeno = 0;
	if (Clock.minute > 59){
		Clock.minute -= 60;
		kratoumeno=1;
	}
	Clock.hour = Clock1.hour + Clock2.hour + kratoumeno ;
	if (Clock.hour > 23)
		Clock.hour -= 24;
	
	return Clock;
}

int CalcSeconds(Time biv){
	return 3600*biv.hour+60*biv.minute+biv.second;
}

void CheckTime(Time *afa){
	if ((*afa).hour > 23 || (*afa).hour < 0)
		(*afa).hour = 0;
	if ((*afa).minute > 59 || (*afa).minute < 0)
		(*afa).minute = 0;
	if ((*afa).second > 59 || (*afa).second < 0)
		(*afa).second = 0;
}

Time SetTime(){
	Time r;
	cout << "Dwse thn wra" ;
	cin >> r.hour ;
	cout << "Dwse ta lepta" ;
	cin >> r.minute ;
	cout << "Dwse ta deuterolepta" ;
	cin >> r.second ;
	return r;
}

void PrintTime(Time A){
	if (A.hour < 10){
		cout << "0";
	}
	cout << A.hour << ":" ;
	if (A.minute < 10){
		cout << "0";
	}
	cout << A.minute << ":" ;
	if (A.second < 10){
		cout << "0";
	}
	cout << A.second << endl ;
}