#include <iostream>
#include <string>
#include <iomanip>
//Nama : Ilham Satria Wijaya
//NIM : 3420230031
using namespace std;
struct Karyawan {
char kode;
string posisi;
int gaji;
};
void displayKodeKaryawan(Karyawan karyawan[], int count) {
cout << "====================================" << endl;
cout << "Kode | Posisi | Gaji" << endl;
cout << "------------------------------------" << endl;
for (int i = 0; i < count; ++i) {
cout << karyawan[i].kode << " | " << setw(12) << karyawan[i].posisi
<< " | " << setw(7) << karyawan[i].gaji << endl;
}
}
int main() {
string nama;
char kode_karyawan;
// Menyiapkan data karyawan
Karyawan karyawan[] = {
{'A', "QA Engineer", 6000000},
{'B', "FE Engineer", 7000000},
{'C', "BE Engineer", 8000000}
};
cout << "====================================" << endl;
cout << " Data Karyawan PT ABC " << endl;
cout << "====================================" << endl;
// Input nama
cout << "Masukan Nama Anda : \n";
cin >> nama;
// Input kode karyawan
cout << "Kode Karyawan [A/B/C] : \n";
cin >> kode_karyawan;
cout << "Kode Yang Dipilih : " << kode_karyawan << endl;
// Validasi
if (kode_karyawan != 'A' && kode_karyawan != 'B' && kode_karyawan != 'C') {
cout << "Kode Karyawan tidak valid." << endl;
return 1;
}
// Menampilkan daftar posisi dan gaji karyawan
cout << endl << " Daftar Posisi dan Gaji Karyawan " << endl;
displayKodeKaryawan(karyawan, 3);
cout << "====================================";
switch (kode_karyawan) {
case 'A':
cout << endl << "\nHalo " << nama << ", selamat datang.\nKode yang kamu pilih adalah A. "
<< "\nPosisi kamu adalah QA Engineer dengan gaji 6 juta per bulan." << endl;
break;
case 'B':
cout << endl << "\nHalo " << nama << ", selamat datang.\nKode yang kamu pilih adalah B. "
<< "\nPosisi kamu adalah FE Engineer dengan gaji 7 juta per bulan." << endl;
break;
case 'C':
cout << endl << "\nHalo " << nama << ", selamat datang.\nKode yang kamu pilih adalah C. "
<< "\nPosisi kamu adalah BE Engineer dengan gaji 8 juta per bulan." << endl;
break;
}
cout << endl << "\t\t\t ******* " << endl;
return 0;
}