Advertisement
oke_google

fix program Bagos

Apr 7th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.64 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6.  
  7. struct data{
  8.     char nama[20];
  9.     char alamat[20];
  10.     char status[20];
  11. };
  12.  
  13. struct perusahaan{
  14.     data data_pegawai;
  15.     int gaji;//ganti int
  16.     int bonus;
  17.     int jumlah_hari;
  18.     int tunjangan;
  19.     int total;
  20.     int banyak_karyawan;
  21. };
  22.  
  23. perusahaan kantor[50];
  24. int indeks = 0;
  25.  
  26. void dataPegawai(){
  27.     cout<<"Masukanh Banyak karyawan yang belum digaji = ";cin>>kantor[49].banyak_karyawan;
  28.             cin.ignore();
  29.     for(int kounter = 0 ; kounter < kantor[49].banyak_karyawan; kounter++){
  30.         cout<<"Masukan Nama Pegawai ke "<<kounter+1<<" = ";cin.getline(kantor[indeks].data_pegawai.nama, 20);
  31.         cout<<"Masukan Alamat Pegawai ke "<<kounter+1<<" = ";cin.getline(kantor[indeks].data_pegawai.alamat, 20);
  32.         cout<<"Masukan Status Pegawai ke "<<kounter+1<<" = ";cin.getline(kantor[indeks].data_pegawai.status, 20);
  33.         cout<<"Masukan Gaji yang belum dibayar = ";cin>>kantor[indeks].gaji;
  34.  
  35.         if((strcmp(kantor[indeks].data_pegawai.status, "menikah")==0)){
  36.              kantor[indeks].tunjangan =float(kantor[indeks].gaji) * 0.20;//gaji di type cast, mwnghitung tunjangan
  37.         }
  38.  
  39.         else if((strcmp(kantor[indeks].data_pegawai.status, "belum")==0)){
  40.             kantor[indeks].tunjangan = 0.07 * float(kantor[indeks].gaji) ;//gaji di type cast, menghitung tunjangan
  41.         }
  42.         else{//tambah pengecekan
  43.             cout<<"Inputan tidak sesuai"<<endl;
  44.         }
  45.  
  46.         cout<<"Anda masuk berapa hari = ";cin>>kantor[indeks].jumlah_hari;
  47.  
  48.                if(kantor[indeks].jumlah_hari >= 25 && kantor[indeks].jumlah_hari <= 30 ){
  49.                 kantor[indeks].bonus = kantor[indeks].gaji*2;//menghitung bonus
  50.                }
  51.                else if(kantor[indeks].jumlah_hari >= 16 && kantor[indeks].jumlah_hari <= 24 ){
  52.                 kantor[indeks].bonus = kantor[indeks].gaji*1;//menghitung bonus
  53.                }
  54.                else if(kantor[indeks].jumlah_hari > 31 || kantor[indeks].jumlah_hari <= 0){//tambah pengecekan
  55.                     cout<<"Hari yg anda masukan tidak sesuai"<<endl;
  56.                }
  57.                else{//jika  tidak mendapat bonus
  58.                     kantor[indeks].bonus = 0;
  59.                }
  60.                kantor[indeks].total = kantor[indeks].gaji + kantor[indeks].tunjangan + kantor[indeks].bonus;//menghitung total gaji
  61.     indeks++;
  62.     }
  63. }
  64.  
  65. void tampilPegawai(){
  66.     for(int kounter = 0 ; kounter < indeks; kounter++){
  67.         cout<<"\nNama Pegawai ke "<<kounter+1<<" = "<<kantor[kounter].data_pegawai.nama;
  68.         cout<<"\nAlamat Pegawai ke "<<kounter+1<<" = "<<kantor[kounter].data_pegawai.alamat;
  69.         cout<<"\nStatus Pegawai ke "<<kounter+1<<"= "<<kantor[kounter].data_pegawai.status;
  70.         cout<<"\nMendapatkan Gaji Pokok "<<kounter+1<<" = "<<kantor[kounter].gaji;
  71.         //Pengujian di hilangkan
  72.         cout<<"\nTotal Tunjangan = "<<kantor[kounter].tunjangan;
  73.         if(kantor[kounter].jumlah_hari > 16){//tambahan pengujian jika dapat bonus
  74.             cout<<"\nTotal Bonus = "<<kantor[kounter].bonus;
  75.         }
  76.         cout<<"\nTotal Gaji = "<<kantor[kounter].total;
  77.         cout<<endl;
  78.  
  79.     }
  80. }
  81.  
  82.  
  83.  
  84. int main()
  85. {
  86.     int pilih;
  87.     char ulang;
  88.  
  89.     do{
  90.         cout<<"Menu\n";
  91.         cout<<"1. Input data\n";
  92.         cout<<"2. Tampil data\n";
  93.         cout<<"Pilihan anda = ";cin>>pilih;
  94.         switch(pilih){
  95.         case 1:
  96.             dataPegawai();
  97.         break;
  98.         case 2:
  99.             tampilPegawai();
  100.         break;
  101.         }
  102.     cout<<"\nApakah anda ingin mengulang = (y/n) ";cin>>ulang;
  103.     }while(ulang=='y');
  104.     return 0;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement