Durasi Waktu (Function)
Durasi Waktu
Menggunakan Function
#include <iostream>
#include <string>
using namespace std;
// Fungsi untuk mengonversi waktu dari format AM/PM menjadi format 24 jam
int konversiKe24Jam(int jam, int menit, string ampm)
{
if (ampm == "PM" && jam != 12) {
jam += 12;
} else if (ampm == "AM" && jam == 12) {
jam = 0;
}
return jam;
}
// Fungsi untuk menghitung durasi antara dua waktu
void hitungDurasi(int jamAwal, int menitAwal, string ampmAwal, int jamAkhir, int menitAkhir, string ampmAkhir)
{
// Konversi waktu awal ke format 24 jam
jamAwal = konversiKe24Jam(jamAwal, menitAwal, ampmAwal);
// Konversi waktu akhir ke format 24 jam
jamAkhir = konversiKe24Jam(jamAkhir, menitAkhir, ampmAkhir);
int durasiJam, durasiMenit;
// Menghitung durasi menit
if (menitAkhir >= menitAwal) {
durasiMenit = menitAkhir - menitAwal;
} else {
durasiMenit = (60 + menitAkhir) - menitAwal;
jamAkhir--;
}
// Menghitung durasi jam
if (jamAkhir >= jamAwal) {
durasiJam = jamAkhir - jamAwal;
} else {
durasiJam = (24 + jamAkhir) - jamAwal;
}
// Menampilkan hasil durasi
cout << "Durasi: " << durasiJam << " jam, " << durasiMenit << " menit" << endl;
}
int main()
{
int jamAwal, menitAwal;
string ampmAwal;
int jamAkhir, menitAkhir;
string ampmAkhir;
// Menerima input dari pengguna
cout << "Masukkan jam awal (format 12 jam): ";
cin >> jamAwal;
cout << "Masukkan menit awal: ";
cin >> menitAwal;
cout << "Masukkan AM/PM untuk jam awal: ";
cin >> ampmAwal;
cout << "Masukkan jam akhir (format 12 jam): ";
cin >> jamAkhir;
cout << "Masukkan menit akhir: ";
cin >> menitAkhir;
cout << "Masukkan AM/PM untuk jam akhir: ";
cin >> ampmAkhir;
// Memanggil fungsi hitungDurasi
hitungDurasi(jamAwal, menitAwal, ampmAwal, jamAkhir, menitAkhir, ampmAkhir);
return 0;
}
Komentar
Posting Komentar