#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
//Nama : Nadzia Dibda
//Email : dibdaaulina@gmail.com
void garis() {
printf("---------------------------------------------------\n");
}
// Fungsi NOT Return Value (Tanpa Parameter)
void tampilkanKetentuan() {
garis();
printf("Toko Buku Tian\n");
puts("Jatiwaringin - Bekasi");
garis();
puts("KETENTUAN");
garis();
puts("| Kode | Judul | Harga |");
garis();
puts("| 1 | Sukses Belajar C++ | 50.000 |");
puts("| 2 | Kunci Pribadi Yang Sukses | 35.000 |");
puts("| 3 | Mencari Mutiara Di Dasar Hati | 45.000 |");
garis();
puts("Subtotal = Harga x Jumlah Beli");
puts("PPN = 10% x Subtotal");
puts("Jika jumlah beli lebih dari 5 maka mendapat discount 10% dan bonus kotak pensil.");
garis();
}
void keterangan() {
puts("Harus Terdapat Fungsi:");
puts("cout, cin, printf, scanf, puts");
puts("Struktur IF dan Switch Case");
puts("Function Return Value (Without Parameter)");
puts("Function Return Value (With Parameter)");
puts("Function NOT Return Value (Without Parameter)");
puts("Function NOT Return Value (With Parameter)");
}
// Fungsi Return Value (Dengan Parameter)
int hitungSubtotal(int harga, int jumlah) {
return harga * jumlah;
}
// Fungsi Return Value (Tanpa Parameter)
int hitungPPN(int subtotal) {
return subtotal * 0.10;
}
// Fungsi NOT Return Value (Dengan Parameter)
void tampilkanHasil(string namaBuku, int harga, string bonus, int subtotal, int potongan, int ppn, int total) {
cout << "Nama Buku : " << namaBuku << endl;
cout << "Harga Buku : " << harga << endl;
cout << "Bonus : " << bonus << endl;
cout << "Subtotal : Rp. " << subtotal << ".00" << endl;
cout << "Potongan : Rp. " << potongan << ".00" << endl;
cout << "PPN : Rp. " << ppn << ".00" << endl;
cout << "Total : Rp. " << total << ".00" << endl;
garis();
puts("Terima Kasih");
garis();
puts("Nama : Nadzia Dibda");
puts("Email : dibdaaulina@gmail.com");
}
int main() {
tampilkanKetentuan();
keterangan();
garis();
// Deklarasi variabel
int kode, jumlah;
string namaBuku, bonus = "-";
int harga = 0, subtotal, potongan = 0, ppn, total;
// Input kode dan jumlah
puts("Masukkan kode buku [1/2/3]:");
//Fungsi scanf
scanf("%d", &kode);
puts("Jumlah pembelian buku:");
scanf("%d", &jumlah);
garis();
// Struktur Switch Case
switch (kode) {
case 1:
namaBuku = "Sukses Belajar C++";
harga = 50000;
break;
case 2:
namaBuku = "Kunci Pribadi Yang Sukses";
harga = 35000;
break;
case 3:
namaBuku = "Mencari Mutiara Di Dasar Hati";
harga = 45000;
break;
default:
puts("Kode buku tidak valid!");
return 0;
}
// Hitung subtotal
subtotal = hitungSubtotal(harga, jumlah);
// Cek jumlah untuk potongan dan bonus
if (jumlah > 5) {
potongan = subtotal * 0.10; // 10% diskon
bonus = "Kotak Pensil";
}
// Hitung PPN dan total
ppn = hitungPPN(subtotal);
total = subtotal - potongan + ppn;
// Tampilkan hasil
tampilkanHasil(namaBuku, harga, bonus, subtotal, potongan, ppn, total);
return 0;
}