OneCompiler

Tugas Pemrograman Terstruktur

142

#include <iostream>
using namespace std;

int hargaBeras = 12875;

auto hitungDiskon = [](int jumlahBeras) {
float diskon;
if (jumlahBeras >= 50) {
diskon += 0.05;
cout<<"\nANDA MENDAPATKAN DISKON SEBESAR 5%\n";
}else if(jumlahBeras % 2 == 0) {
diskon += 0.01;
cout<<"\nANDA MENDAPATKAN DISKON SEBESAR 1%\n";
}else{
diskon += 0;
cout<<"\nANDA TIDAK MENDAPATKAN DISKON\n";
}
return diskon;
};

int hitung_totalBayar(int jumlahBeras, int hargaSatuan) {
float totalHarga = jumlahBeras * hargaSatuan;
float diskon = hitungDiskon(jumlahBeras);
float totalBayar = totalHarga - (totalHarga * diskon);
return (int) totalBayar;
}

int main() {
int jumlahBayar;
int jumlahBeras;
int hargaSatuan = hargaBeras;

cout << "Masukkan berapa kg beras PANDAN WANGI yang ingin dibeli: ";
cin >> jumlahBeras;
int totalBayar = hitung_totalBayar(jumlahBeras, hargaSatuan);
cout << "\nTotal Pembelian            : Rp. " << totalBayar <<endl;

int cek = 0; // variabel counter untuk menghitung jumlah input uang yang kurang
do {
    cout << "Masukkan jumlah pembayaran : ";
    cin >> jumlahBayar;
    (jumlahBayar < totalBayar)? cek++ : cek;
    if (cek == 2) { // keluar dari program jika variabel counter mencapai 3
        cout << "\nAnda telah mencoba pembayaran sebanyak 2 kali!! PROGRAM SELESAI." << endl;
        return 0;
    }
} while (jumlahBayar < totalBayar);

int kembalian = jumlahBayar - totalBayar;
cout << "Kembalian                  : Rp. " << kembalian << endl;

return 0;

}