#include <iostream>
#include <stdio.h>
using namespace std;
// ===== FUNCTION RETURN TANPA PARAMETER =====
float getPPN() {
return 0.10;
}
// ===== FUNCTION RETURN DENGAN PARAMETER =====
int hitungSubtotal(int harga, int jumlah) {
return harga * jumlah;
}
// ===== FUNCTION NON-RETURN TANPA PARAMETER =====
void garis() {
puts("--------------------------------------------------");
}
// ===== FUNCTION NON-RETURN DENGAN PARAMETER =====
void tampilBonus(int jumlah) {
if (jumlah > 5)
puts("Bonus : Kotak Pensil");
else
puts("Bonus : -");
}
int main() {
int kode, jumlah, harga = 0;
float subtotal, potongan = 0, ppn, total;
char judul[50];
// ===== TAMPILAN AWAL =====
garis();
puts("Toko Buku akang iding");
puts("Jatiwaringin - Bekasi");
garis();
puts("| Kode | Judul | Harga |");
puts("| 1 | Sukses Belajar C++ | 50000 |");
puts("| 2 | Kunci Pribadi Yang Sukses | 35000 |");
puts("| 3 | Mencari Mutiara Di Dasar Hati | 45000 |");
garis();
// ===== INPUT =====
printf("Masukan kode buku [1/2/3] : ");
scanf("%d", &kode);
printf("\nJumlah pembelian buku :\n");
scanf("%d", &jumlah);
garis();
// ===== SWITCH CASE =====
switch (kode) {
case 1:
harga = 50000;
sprintf(judul, "Sukses Belajar C++");
break;
case 2:
harga = 35000;
sprintf(judul, "Kunci Pribadi Yang Sukses");
break;
case 3:
harga = 45000;
sprintf(judul, "Mencari Mutiara Di Dasar Hati");
break;
default:
puts("Kode buku tidak tersedia!");
return 0;
}
// ===== PROSES =====
subtotal = hitungSubtotal(harga, jumlah);
if (jumlah > 5)
potongan = subtotal * 0.10;
ppn = subtotal * getPPN();
total = subtotal - potongan + ppn;
// ===== STRUK PEMBELIAN =====
printf("Nama Buku : %s\n", judul);
printf("Harga Buku : %d\n", harga);
tampilBonus(jumlah);
printf("Subtotal : Rp. %.2f\n", subtotal);
printf("Potongan : Rp. %.2f\n", potongan);
printf("PPN : Rp. %.2f\n", ppn);
printf("Total : Rp. %.2f\n", total);
// ===== PENUTUP =====
garis();
puts("Terima Kasih");
garis();
puts("Nama : Aidil Akbar A");
puts("NIM : 3430240014");
garis();
return 0;
}