All pastes #753829 Raw Edit

Something

public text v1 · immutable
#753829 ·published 2007-10-29 16:15 UTC
rendered paste body
#include <iostream>
using namespace std;
 
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 (" ;
        PrintTime(ClockA);
        cout << ") k tou ClockB (";
        PrintTime(ClockB);
        cout << ") einai : ";
        PrintTime(ClockC);
        cout << 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 ;
}