Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
3.5 kB
5
Indexable
Never
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

float checkTanggal() {
    int day, month, year;

    struct tm *local;
    time_t now;
    now = time(NULL);
    local = localtime(&now);

    day = local->tm_mday;
    month = local->tm_mon + 1;
    year = local->tm_year + 1900;

    printf("%d/%d/%d\n", day, month, year);
}

int main()
{
    int jamMasuk, jamKeluar, menitMasuk, menitKeluar, selisihJam, selisihMenit, selisihWaktu;
    int kendaraan, biaya, petugas, uang, kembalian, uangKurang;
    char plat[20];

    struct tm *local;
    time_t now;
    now = time(NULL);
    local = localtime(&now);

    jamKeluar = local->tm_hour;
    menitKeluar = local->tm_min;

    printf("Masukan plat kendaraan : ");
    fgets(plat, sizeof(plat), stdin);

    printf("\n1. Agus Ramadhan \n2. Surya Permana \n3. Aldi Taher\n");
    checkPointPetugas:
    printf("Petugas : ");
    scanf("%d", &petugas);

    if(petugas != 1 && petugas != 2 && petugas !=3){
        printf("Kode petugas salah \n");
        printf("Silahkan Pilih Petugas yang Lain \n");
        goto checkPointPetugas;
    }

    printf("\n1. Motor \n2. Mobil\n");
    checkPointKendaraan:
    printf("Masukan kode kendaraan : ");
    scanf("%d", &kendaraan);

    if(kendaraan != 1 && kendaraan != 2 ){
        printf("Kode kendaraan salah \n");
        printf("Silahkan Pilih Petugas yang Lain \n");
        goto checkPointKendaraan;
    }
    printf("\nJam masuk : ");
    scanf("%d", &jamMasuk);
    printf("Menit masuk : ");
    scanf("%d", &menitMasuk);

    printf("Jam keluar : %d:%d", jamKeluar, menitKeluar);

    selisihWaktu = (jamKeluar*60 + menitKeluar) - (jamMasuk*60 + menitMasuk);
    selisihJam = selisihWaktu/60;
    selisihMenit = selisihWaktu%60;

    if(kendaraan == 1) {
        if(selisihJam == 0) {
            biaya = 4000;
        } else {
            biaya = 4000 + 2000*(selisihJam-1);
        }
    }
    else if(kendaraan == 2) {
        if(selisihJam == 0) {
            biaya = 7000;
        } else {
            biaya = 7000 + 5000*(selisihJam-1);
        }
    }

    printf("\nLama Parkir : %d Jam %d Menit\n", selisihJam, selisihMenit);
    printf("Biaya Parkir : Rp. %d\n", biaya);

    checkBiaya:
    printf("\nMasukan jumlah uang : ");
    scanf("%d", &uang);

    if(uang < biaya) {
        uangKurang = biaya - uang;
        printf("Uang Anda kurang Rp.%d", uangKurang);
        goto checkBiaya;
    }

    //Struk Pembayaran
    printf("\nUNIVERSITAS SINGAPERBANGSA KARAWANG");
    printf("\n===================================\n");
    printf("Plat Nomor \t: %s", plat);
    if(petugas == 1) {
        printf("Petugas \t: Agus Ramadhan");
    }
    else if(petugas == 2) {
        printf("Petugas \t: Surya Permana");
    }
    else if(petugas == 3) {
        printf("Petugas \t: Aldi Taher");
    }
    printf("\nMasuk \t\t: %s %d:%d", checkTanggal(), jamMasuk, menitMasuk);
    printf("\nMasuk \t\t: %s %d:%d", checkTanggal(), jamKeluar, menitKeluar);
    printf("\nLama Parkir \t: %d Jam %d Menit\n", selisihJam, selisihMenit);
    printf("Biaya Parkir \t: Rp.%d\n", biaya);
    printf("Jumlah uang \t: Rp.%d\n", uang);
    if(uang > biaya) {
        kembalian = uang - biaya;
        printf("Anda memiliki kembalian Rp.%d", kembalian);
    }
    else {
        printf("Anda tidak memiliki kembalian");
    }
    printf("\n===================================\n");
    printf("TERIMA KASIH HATI-HATI DI JALAN");

    return 0;
}