Tugas 12.1

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> #include <string> #include <cctype> #include <iomanip> using namespace std; struct Kamar { char kode; string tipe; double harga; }; void Garis() { cout << "--------------------------------------------" << endl; } void Judul() { Garis(); cout << "PENGINAPAN PASTI BETAH" << endl; Garis(); cout << "List Function" << endl; Garis(); cout << "1. Function Garis()" << endl; cout << "2. Function Judul()" << endl; cout << "3. Function Ketentuan" << endl; cout << "4. Function TTB()" << 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(); } void Ketentuan() { cout << "Jika lama menginap lebih dari 6 hari maka mendapatkan souvenir Payung Cantik" << endl; cout << "Biaya admin 200.000" << endl; cout << "Total Bayar adalah (Harga dikali Lama Menginap) + Biaya Admin" << endl; Garis(); } void TTD() { Garis(); cout << "Nama : Asiyah Thufailah" << endl; cout << "Email: asiyahtflh@gmail.com" << endl; Garis(); } double Cek_Harga(char kode, const Kamar kamar[], int n) { kode = tolower(kode); for (int i = 0; i < n; i++) { if (tolower(kamar[i].kode) == kode) { return kamar[i].harga; } } return 0; } string Cek_Tipe(char kode, const Kamar kamar[], int n) { kode = tolower(kode); for (int i = 0; i < n; i++) { if (tolower(kamar[i].kode) == kode) { return kamar[i].tipe; } } return "Tidak Diketahui"; } string Cek_Souvenir(int lamaMenginap) { return (lamaMenginap > 6) ? "Payung Cantik" : "Tidak Ada"; } int main() { Kamar kamar[] = { {'A', "Anggrek", 800000}, {'B', "Bougenville", 700000}, {'C', "Mawar", 600000} }; const int n = sizeof(kamar) / sizeof(kamar[0]); string nama; char kodeKamar; int lamaMenginap; Judul(); Ketentuan(); // Input cout << "Nama Penyewa \t : <input>" << endl; getline(cin, nama); cout << "Kode Kamar [A/B/M] : <input>" << endl; cin >> kodeKamar; cout << "Lama Menginap\t : <input>" << endl; cin >> lamaMenginap; Garis(); puts ("| Kode | Tipe | Harga |"); Garis(); puts ("| A | Anggrek | 800.000 |"); puts ("| B | Bougenville | 700.000 |"); puts ("| C | Mawar | 600.000 |"); Garis(); // Proses double hargaSewa = Cek_Harga(kodeKamar, kamar, n); string tipeKamar = Cek_Tipe(kodeKamar, kamar, n); string souvenir = Cek_Souvenir(lamaMenginap); double administrasi = 200000; double totalBiaya = (hargaSewa * lamaMenginap) + administrasi; // Output cout << "Nama Penyewa : " << nama << endl; cout << "Kode Kamar : " << char(toupper(kodeKamar)) << endl; cout << "Lama Menginap : " << lamaMenginap << " hari" << endl; cout << "Harga Sewa : Rp." << fixed << setprecision(2) << hargaSewa << endl; cout << "Tipe Kamar : " << tipeKamar << endl; cout << "Souvenir : " << souvenir << endl; cout << "Administrasi : Rp." << administrasi << endl; cout << "Total Biaya : Rp." << totalBiaya << endl; TTD(); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines