You are on page 1of 3

#include <iostream>

#include <string>
using namespace std;

class Time {

private :
int hour;
int minute;
int second;
int hour12;
string ampm;

public :
Time() {
hour = minute = second = 0;
}
void setHour (int h) {
hour = h;
if (h>=0 && h<=12) {
hour12 = h;
}
else if (h>12 && h<24) {
hour12 = h-12;
}
}
void setMinute (int m) {
minute = m;
}
void setSecond (int s) {
second = s;
}
int getHour() {
return hour;
}
int getMinute() {
return minute;
}
int getSecond() {
return second;
}
int getHour12() {
return hour12;
}
string getAMPM() {
if (hour>=0 && hour<12) {
ampm = "AM";
}
else if (hour>=12 && hour<24) {
ampm = "PM";
}
return ampm;
}
void print24Format() {
cout << "Format 24 = " << hour << ":" << minute << ":" << second <<
endl;
}
void print12Format() {
cout << "Format 12 = " << hour12 << ":" << minute << ":" << second << "
" << ampm;
}
int validateHour() {
int v;
if (hour>=0 && hour<24) {
v=1;
}
else {
v=0;
}
return v;
}
int validateMinute() {
int v;
if (minute>=0 && minute<60) {
v=1;
}
else {
v=0;
}
return v;
}
int validateSecond() {
int v;
if (second>=0 && second<60) {
v=1;
}
else {
v=0;
}
return v;
}
};

void main () {
int jam, menit, detik, a;
bool valid;
Time waktu;
valid = false;
cout << "Masukkan jam : ";
cin >> jam;
waktu.setHour(jam);
while (waktu.validateHour() == 0) {
cout << "Angka yang dimasukkan tidak valid" << endl;
cout << "Masukkan angka 0-23 untuk jam : ";
cin >> jam;
waktu.setHour(jam);
}
cout << endl;
cout << "Masukkan menit : ";
cin >> menit;
waktu.setMinute(menit);
while (waktu.validateMinute() == 0) {
cout << "Angka yang dimasukkan tidak valid" << endl;
cout << "Masukkan angka 0-59 untuk menit : ";
cin >> menit;
waktu.setMinute(menit);
}
cout << endl;
cout << "Masukkan detik : ";
cin >> detik;
waktu.setSecond(detik);
while (waktu.validateSecond() == 0) {
cout << "Angka yang dimasukkan tidak valid" << endl;
cout << "Masukkan angka 0-59 untuk detik : ";
cin >> detik;
waktu.setSecond(detik);
}
cout << endl;
cout << "Hasil menggunakan get : " << endl;
cout << "Format 24 = " << waktu.getHour() << ":" << waktu.getMinute() << ":" <<
waktu.getSecond() << endl;
cout << "Format 12 = " << waktu.getHour12() << ":" << waktu.getMinute() << ":"
<< waktu.getSecond() << " " << waktu.getAMPM() << endl;
cout << endl;
cout << "Atau jika menggunakan prosedur print : " << endl;
waktu.print24Format();
waktu.print12Format();
cin >> a;
}

You might also like