mirror of
https://github.com/HerdyIskandar/tugaskampusitpln.git
synced 2026-01-26 13:32:02 +07:00
Create Tugas 19062023
This commit is contained in:
committed by
GitHub
parent
7b2615e60d
commit
f663d3890b
195
SEMESTER 2/CPP/Tugas 19062023
Normal file
195
SEMESTER 2/CPP/Tugas 19062023
Normal file
@@ -0,0 +1,195 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
class Karyawan {
|
||||
protected:
|
||||
float gaji;
|
||||
public:
|
||||
string NIP;
|
||||
string Nama;
|
||||
string DeptName;
|
||||
|
||||
void setGaji(float x) {
|
||||
gaji = x;
|
||||
}
|
||||
};
|
||||
|
||||
class Manajer : public Karyawan {
|
||||
private:
|
||||
float tunjangan;
|
||||
float bonus;
|
||||
float HitGaji() {
|
||||
return gaji + tunjangan + bonus;
|
||||
}
|
||||
public:
|
||||
void displayResult() {
|
||||
cout << "========SLIP GAJI========" << endl;
|
||||
cout << "NIP\t\t\t: " << NIP << endl;
|
||||
cout << "Nama\t\t: " << Nama << endl;
|
||||
cout << "Departemen\t: " << DeptName << endl;
|
||||
cout << "Gaji anda\t: " << HitGaji() << endl;
|
||||
}
|
||||
|
||||
void setTunjangan(float x) {
|
||||
tunjangan = x;
|
||||
}
|
||||
|
||||
void setBonus(float x) {
|
||||
bonus = x;
|
||||
}
|
||||
};
|
||||
|
||||
class Staf : public Karyawan {
|
||||
private:
|
||||
float lembur;
|
||||
float HitGaji() {
|
||||
return gaji + lembur;
|
||||
}
|
||||
public:
|
||||
void displayResult() {
|
||||
cout << "========SLIP GAJI========" << endl;
|
||||
cout << "NIP\t\t\t: " << NIP << endl;
|
||||
cout << "Nama\t\t: " << Nama << endl;
|
||||
cout << "Departemen\t: " << DeptName << endl;
|
||||
cout << "Gaji anda\t: " << HitGaji() << endl;
|
||||
}
|
||||
|
||||
void setLembur(float x) {
|
||||
lembur = x;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
cout.precision(100);
|
||||
string pilihan;
|
||||
cout << "Pilihlah M=Manajer, S=Staf ? ";
|
||||
cin >> pilihan;
|
||||
|
||||
switch (pilihan[0]) {
|
||||
case 'M': {
|
||||
Manajer manajer;
|
||||
string nip, nama, deptName;
|
||||
float gaji, tunjangan, bonus;
|
||||
|
||||
cout << "Masukkan NIP\t\t\t: ";
|
||||
cin >> nip;
|
||||
manajer.NIP = nip;
|
||||
|
||||
cout << "Masukkan Nama\t\t\t: ";
|
||||
cin >> nama;
|
||||
manajer.Nama = nama;
|
||||
|
||||
cout << "Masukkan Nama Dept\t\t: ";
|
||||
cin >> deptName;
|
||||
manajer.DeptName = deptName;
|
||||
|
||||
cout << "Masukkan Gaji Anda\t\t: ";
|
||||
cin >> gaji;
|
||||
manajer.setGaji(gaji);
|
||||
|
||||
cout << "Masukkan Tunjangan Anda\t: ";
|
||||
cin >> tunjangan;
|
||||
manajer.setTunjangan(tunjangan);
|
||||
|
||||
cout << "Masukkan Bonus Anda\t\t: ";
|
||||
cin >> bonus;
|
||||
manajer.setBonus(bonus);
|
||||
|
||||
manajer.displayResult();
|
||||
break;
|
||||
}
|
||||
case 'm': {
|
||||
Manajer manajer;
|
||||
string nip, nama, deptName;
|
||||
float gaji, tunjangan, bonus;
|
||||
|
||||
cout << "Masukkan NIP\t\t\t: ";
|
||||
cin >> nip;
|
||||
manajer.NIP = nip;
|
||||
|
||||
cout << "Masukkan Nama\t\t\t: ";
|
||||
cin >> nama;
|
||||
manajer.Nama = nama;
|
||||
|
||||
cout << "Masukkan Nama Dept\t\t: ";
|
||||
cin >> deptName;
|
||||
manajer.DeptName = deptName;
|
||||
|
||||
cout << "Masukkan Gaji Anda\t\t: ";
|
||||
cin >> gaji;
|
||||
manajer.setGaji(gaji);
|
||||
|
||||
cout << "Masukkan Tunjangan Anda\t: ";
|
||||
cin >> tunjangan;
|
||||
manajer.setTunjangan(tunjangan);
|
||||
|
||||
cout << "Masukkan Bonus Anda\t\t: ";
|
||||
cin >> bonus;
|
||||
manajer.setBonus(bonus);
|
||||
|
||||
manajer.displayResult();
|
||||
break;
|
||||
}
|
||||
case 'S': {
|
||||
Staf staf;
|
||||
string nip, nama, deptName;
|
||||
float gaji, lembur;
|
||||
|
||||
cout << "Masukkan NIP\t\t\t: ";
|
||||
cin >> nip;
|
||||
staf.NIP = nip;
|
||||
|
||||
cout << "Masukkan Nama\t\t\t: ";
|
||||
cin >> nama;
|
||||
staf.Nama = nama;
|
||||
|
||||
cout << "Masukkan Nama Dept\t\t: ";
|
||||
cin >> deptName;
|
||||
staf.DeptName = deptName;
|
||||
|
||||
cout << "Masukkan Gaji Anda\t\t: ";
|
||||
cin >> gaji;
|
||||
staf.setGaji(gaji);
|
||||
|
||||
cout << "Masukkan Lembur Anda\t: ";
|
||||
cin >> lembur;
|
||||
staf.setLembur(lembur);
|
||||
|
||||
staf.displayResult();
|
||||
break;
|
||||
}
|
||||
case 's': {
|
||||
Staf staf;
|
||||
string nip, nama, deptName;
|
||||
float gaji, lembur;
|
||||
|
||||
cout << "Masukkan NIP\t\t\t: ";
|
||||
cin >> nip;
|
||||
staf.NIP = nip;
|
||||
|
||||
cout << "Masukkan Nama\t\t\t: ";
|
||||
cin >> nama;
|
||||
staf.Nama = nama;
|
||||
|
||||
cout << "Masukkan Nama Dept\t\t: ";
|
||||
cin >> deptName;
|
||||
staf.DeptName = deptName;
|
||||
|
||||
cout << "Masukkan Gaji Anda\t\t: ";
|
||||
cin >> gaji;
|
||||
staf.setGaji(gaji);
|
||||
|
||||
cout << "Masukkan Lembur Anda\t: ";
|
||||
cin >> lembur;
|
||||
staf.setLembur(lembur);
|
||||
|
||||
staf.displayResult();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
cout << "Pilihan tidak valid." << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user