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

Postingan Populer