Tugas Pemrograman Terstruktur
#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;
}