#include
using namespace std;
class Clock
{
int h, m, s;
int isPM(int hour) {
if ( (hour > 12) && (hour < 24) )
return 1;
else
return 0;
}
public:
Clock() : h(0), m(0), s(0) {}
void setTime(int ph, int pm, int ps) {
try {
if ( !( (ph < 0) || (ph > 23) ) )
h = ph;
else
throw "Неверный час";
if ( !( (pm < 0) || (pm > 59) ) )
m = pm;
else
throw "Неверные минуты";
if ( !( (ps < 0) || (ps > 59) ) )
s = ps;
else
throw "Неверные секунды";
} catch (const char* e) {
printf("Ошибка: %s", e);
}
}
Clock(int ph, int pm, int ps) {
setTime(ph, pm, ps);
}
int hour() { return h; }
int min() { return m; }
int sec() { return s; }
void print1() {
printf("%d часов %d минут %d секунд\n", h, m, s);
}
void print2() {
char a_p;
int ph;
if (isPM(h)) {
a_p = 'p';
ph = h - 12;
} else {
a_p = 'a';
ph = h;
}
printf("%d %c. m. %d минут %d секунд\n", ph, a_p, m, s);
}
};
/* Проверка некоторых функций */
int main()
{
Clock clock1(23, 11, 07), clock2;
clock1.print2();
clock2.print1();
return 0;
}