Alpro I - Data Pegawai

Data Pegawai

Fungsi program yang dibuat yaitu untuk menginput, menampilkan, menghitung bonus dan mencari data karyawan. 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

typedef struct{
char nip[3];
char nama[30];
char alamat[50];
char telp[12];
char jabatan[20];
int gapok;
int bonus;
} pegawai;
int n,i, gaji, tunjangan, bonus, j ,min,status1;
char nama[40];
int menu;
char cari[20];
pegawai temp;
pegawai p[10];

void input(){
printf("Jumlah Pegawai : ");
scanf("%d", &n);

for(i=0;i<n;i++){
printf("NIP : ");scanf("%s", &p[i].nip);
printf("Nama : ");scanf("%s", &p[i].nama);
printf("Alamat : ");scanf("%s", &p[i].alamat);
printf("telp : ");scanf("%s", &p[i].telp);
printf("Jabatan : ");scanf("%s", &p[i].jabatan);
}

}
int GM(int x){
return(x+(50/100*4000000));
}
int Manager(int x){
return(x+(50/100*2000000));
}
int Staf(int x){
return(x+(50/100*1000000));
}

main(){


menu=0;
while(menu<5){
printf("===========================");
printf("\n=    Menu Pegawai        =");
printf("\n==========================");
printf("\n1. Input data pegawai");
printf("\n2. Tampil data pegawai");
printf("\n3. Hitung Bonus pegawai");
printf("\n4. Cari Pegawai");
printf("\n5. Keluar Program");
printf("\nMasukkan menu yang dipilih : ");
scanf("%d", &menu);

switch(menu){
case 1:{
input();

for(i=0;i<n-1;i++){
min=i;
for(j=i+1;j<n;j++){
if(strcmp(p[j].nama,p[min].nama)<0){
min=j;
}
}

strcpy(temp.nip,p[min].nip);
strcpy(temp.nama,p[min].nama);
strcpy(temp.alamat,p[min].alamat);
strcpy(temp.telp,p[min].telp);
strcpy(temp.jabatan,p[min].jabatan);

strcpy(p[min].nip,p[i].nip);
strcpy(p[min].nama,p[i].nama);
strcpy(p[min].alamat,p[i].alamat);
strcpy(p[min].telp,p[i].telp);
strcpy(p[min].jabatan,p[i].jabatan);

strcpy(p[i].nip,temp.nip);
strcpy(p[i].nama,temp.nama);
strcpy(p[i].alamat,temp.alamat);
strcpy(p[i].telp,temp.telp);
strcpy(p[i].jabatan,temp.jabatan);

}

break;
}

case 2:{
for(i=0;i<n;i++){
printf(" NIP ke%d :%s\n ",i+1, p[i].nip);
printf("Nama ke%d :%s\n ",i+1, p[i].nama);
printf("Alamat ke%d :%s\n ",i+1, p[i].alamat);
printf("Telepon ke%d :%s\n ",i+1, p[i].telp);
printf("Jabatan ke%d :%s\n ",i+1, p[i].jabatan);
}
break;
}

case 3:{
printf("Masukan nama : ");
scanf("%s", &nama);

i=0;
while(i<n){
status1=strcmp(nama,p[i].nama);
if(status1!=0){
i++;
}
else if(status1==0){
break;
}
}

if(status1==0){
printf("Gaji Pokok : ");scanf("%d",&gaji);
p[i].gapok=gaji;
if(strcmp(p[i].jabatan,"Staf")==0){
bonus=Staf(gaji);
}else if(strcmp(p[i].jabatan,"Manager")==0){
bonus=Manager(gaji);
}else if(strcmp(p[i].jabatan,"GM")==0){
bonus=GM(gaji);
}
p[i].bonus=bonus;
}
break;
}

case 4:{
printf("Masukan Nama Pegawai : ");scanf("%s",&cari);

for(i=0;i<n;i++){
if(strcmp(p[i].nama, cari)==0){
printf(" Data Pegawai \n");
printf("------------------------------\n");
printf("nip : %s\n", p[i].nip);
printf("Nama :%s\n", p[i].nama);
printf("Alamat :%s\n", p[i].alamat);
printf("Telp :%s\n", p[i].telp);
printf("Jabatan :%s\n", p[i].jabatan);
printf("Gaji Pokok :%d",p[i].gapok);
printf("Bonus :%d",p[i].bonus);
printf("------------------------------\n");
}
}
break;
}

case 5:{
exit(0);
break;
}
}
}
}

Comments