#include <iostream>
#include <iomanip>
#include <string>
#include <cctype>
using namespace std;
struct Kamar {
char kode;
string tipe;
double harga;
};
//Fungsi Garis
void Garis() {
cout<<"------------------------------------------------------"<<endl;
}
//Fungsi TTD
void TTD() {
cout<<"Nama : Rosdiana Fitriyani"<<endl;
cout<<"Email : rosdianaftrn@gmail.com"<<endl;
cout<<"NIM : 1620230020"<<endl;
}
//Fungsi Judul
void Judul() {
Garis();
cout << " PENGINAPAN PASTI BETAH " << endl;
Garis();
}
//Fungsi Ketentuan
void Ketentuan() {
cout<<"List Function"<<endl;
Garis();
cout<<"1. Function Garis()"<<endl;
cout<<"2. Function Judul()"<<endl;
cout<<"3. Function Ketentuan()"<<endl;
cout<<"4. Function TTD()"<<endl;
cout<<"5. Function Tarif()"<<endl;
cout<<"6. Function Cek_Tipe()"<<endl;
cout<<"7. Function Cek_Harga()"<<endl;
cout<<"8. Function Cek_Souvenir()"<<endl;
Garis();
cout<<"Harus bisa handle huruf besar dan kecil."<<endl;
cout<<"Harus Menggunakan Struct."<<endl;
Garis();
cout<<"Jika lama menginap lebih dari 6 hari maka mendapatkan souvenir Payung Cantik."<<endl;
cout<<"Biaya admin: Rp. 200.000"<<endl;
cout<<"Total Bayar adalah (Harga dikali Lama Menginap) + Biaya Admin"<<endl;
Garis();
}
//Fungsi Tarif
float tarif(char kode) {
float harga;
if (kode == 'A' || kode == 'a') {
harga = 800000;
} else if (kode == 'B' || kode == 'b') {
harga = 700000;
} else if (kode == 'C' || kode == 'c') {
harga = 600000;
} else {
harga = 0;
}
return harga;
}
//Fungsi Cek_Harga
double Cek_Harga(char kode, const Kamar kamar[], int size) {
for (int i = 0; i < size; i++) {
if (toupper(kode) == kamar[i].kode) {
return kamar[i].harga;
}
}
return 0;
}
//Fungsi Cek_Tipe
string Cek_Tipe(char kode, const Kamar kamar[], int size) {
for (int i = 0; i < size; i++) {
if (toupper(kode) == kamar[i].kode) {
return kamar[i].tipe;
}
}
return "";
}
//Fungsi Cek_Souvenir
string Cek_Souvenir(int lama) {
return (lama > 6) ? "Payung Cantik" : "Tidak Ada";
}
int main() {
const int admin = 200000;
Kamar kamar[] = {
{'A', "Anggrek", 800000},
{'B', "Bougenville", 700000},
{'C', "Mawar", 600000}
};
string nama;
char kodeKamar;
int lamaMenginap;
Judul();
Ketentuan();
// Input
cout<<"Nama Penyewa : <input>";
getline(cin, nama);
cout<<endl;
cout<<"Kode Kamar [A/B/M] : <input>";
cin >> kodeKamar;
cout<<endl;
cout<<"Lama Menginap : <input>";
cin >> lamaMenginap;
cout<<endl;
// Proses
double hargaKamar = Cek_Harga(kodeKamar, kamar, 3);
string tipeKamar = Cek_Tipe(kodeKamar, kamar, 3);
string souvenir = Cek_Souvenir(lamaMenginap);
double totalBiaya = (hargaKamar * lamaMenginap) + admin;
// Output
Garis();
cout<<"| Kode | Tipe |Harga |"<<endl;
Garis();
cout<<"| A | Anggrek | 800.000 |"<<endl;
cout<<"| B | Bougenville | 700.000 |"<<endl;
cout<<"| C | Mawar | 600.000 |"<<endl;
Garis();
cout << "Nama Penyewa : "<<nama<<endl;
cout << "Kode Kamar : "<<kodeKamar<<endl;
cout << "Lama Menginap : "<<lamaMenginap<<"hari"<<endl;
cout << "Harga Sewa : Rp. " <<fixed<<setprecision(2)<<hargaKamar<<endl;
cout << "Tipe Kamar : " <<tipeKamar<<endl;
cout << "Souvenir : " <<souvenir<<endl;
cout << "Administrasi : Rp. " <<admin<<endl;
cout << "Total Biaya : Rp. " <<totalBiaya<<endl;
Garis();
TTD();
return 0;
}