#include stdio.h
#include string.h
#include conio.h
void ViewEmp(char *strEmpNo);
float GetSalaryRate(int intSalLevel);
float GetGSISPcnt(int intSalLevel);
float TimeInOut(char *strEmpNo);
float GetMH(char strTimeIn[],char strTimeOut[]);
float GetMH_OT(char strTimeIn[],char strTimeOut[]);
float GetTimeDecimal(char strTime[]);
float mfltSalRate=0.00;
float mfltGSISPcnt=0.00;
void main(){
char strEmpNo[10]="";
float fltMH;
float fltOT;
char strContinue[10]="";
main_:
clrscr();
mfltSalRate=0.00;
/*1. Enter Employee No.*/
printf("Enter Employee Number: ");
scanf("%s",strEmpNo);
/*2. View Emp Info */
ViewEmp(strEmpNo);
/*3. Main Routine */
TimeInOut(strEmpNo);
/*4. Continue? */
printf("\n Continue? (Y/N): ");
scanf("%s",strContinue);
if (strcmpi(strContinue,"Y")==0){
clrscr();
goto main_;
}
getch();
}
/*2. View Emp Info */
void ViewEmp(char *strEmpNo){
FILE *f1;
char strLine[100]="";
char strEmpNoFile[100]="";
char strEmpName[100]="";
char strEmpSalLevel[100]="";
f1 = fopen("c:\\employee.txt","r");
printf("\n ************************************* ");
printf("\n Employee Number: %s",strEmpNo);
printf("\n ************************************* ");
if (f1!=NULL){
while (!feof(f1)){
fscanf(f1,"%s",strLine);
strcpy(strEmpName,strtok(strLine,","));
strcpy(strEmpNoFile,strtok(NULL,","));
strcpy(strEmpSalLevel,strtok(NULL,","));
if (strcmpi(strEmpNo,strEmpNoFile)==0){
printf("\n Employee Name: %s",strEmpName);
printf("\n Employee Level: %s",strEmpSalLevel);
mfltSalRate = GetSalaryRate(atoi(strEmpSalLevel));
mfltGSISPcnt = GetGSISPcnt(atoi(strEmpSalLevel));
printf("\n Employee Rate: %.2f",mfltSalRate);
printf("\n ************************************* ");
}
}
}
fclose(f1);
}
/*3.1 Get Salary Rate */
float GetSalaryRate(int intSalLevel){
if (intSalLevel==1){return 380.00;}
else if (intSalLevel==2){return 450.00;}
else if (intSalLevel==3){return 550.00;}
else {return 0.00;}
}
/*3.2 Get GSIS Pcnt */
float GetGSISPcnt(int intSalLevel){
if (intSalLevel==1){return 0.01;}
else if (intSalLevel==2){return 0.015;}
else if (intSalLevel==3){return 0.02;}
else {return 0.00;}
}
/*3.3 Convert Time To Decimal */
float GetTimeDecimal(char strTime[]){
char strTimeHR[5]="";
char strTimeMin[5]="";
float fltMin = 0.00;
float r = 0.00;
strcpy(strTimeHR,strtok(strTime,":"));
strcpy(strTimeMin,strtok(NULL,":"));
if (atoi(strTimeMin) > 60) {
fltMin = 1;
} else if (atoi(strTimeMin) > 0) {
r = (atoi(strTimeMin) % 15);
if (r == 0.00){
fltMin = ((atoi(strTimeMin) / 15)) * 0.25;
} else {
fltMin = ((atoi(strTimeMin) / 15)+1) * 0.25;
}
}
return atoi(strTimeHR) + fltMin;
}
/*3.4 Get Daily Man Hour */
float GetMH(char strTimeIn[],char strTimeOut[]){
float fltMinus = 0.00;
float fltIn = 0.00;
float fltOut = 0.00;
fltIn = GetTimeDecimal(strTimeIn);
fltOut = GetTimeDecimal(strTimeOut);
if (fltIn <13.00) fltminus="1;}">=17.00)
{fltOut=17.00;}
}
return fltOut - fltIn - fltMinus;
}
/*3.5 Get Daily Man Hour - OverTime */
float GetMH_OT(char strTimeIn[],char strTimeOut[]){
float fltIn = 0.00;
float fltOut = 0.00;
fltIn = GetTimeDecimal(strTimeIn);
fltOut = GetTimeDecimal(strTimeOut);
if (fltIn > 0 && fltIn <17.50) fltin =" 17.50;}"> 0 && fltOut >= 20.50)
{fltOut=20.50;}
}
return fltOut - fltIn;
}
/*3. Main Routine */
float TimeInOut(char *strEmpNo){
char strCoverageDate[100]="";
char strCoverageDate2[100]="";
char strCoverageDate3[100]="";
char strTimeIn[5]="";
char strTimeOut[5]="";
char strTimeIn_OT[5]="";
char strTimeOut_OT[5]="";
float fltMH=0.00;
float fltMH_OT=0.00;
int intD=0;
char strDay[100]="";
char chrHoliday[3];
float A,B,C,D,E,F1,F2;
FILE *f2;
f2 = fopen("c:\\dtr.txt","a");
printf("\n Enter Coverage Date: ");
scanf("%s %s %s",
strCoverageDate,
strCoverageDate2,
strCoverageDate3);
for (intD=1;intD<=5;intD++){ if (intD==1) { strcpy(strDay,"Monday"); } else if (intD==2){ strcpy(strDay,"Tueday"); } else if (intD==3){ strcpy(strDay,"Wednesday"); } else if (intD==4){ strcpy(strDay,"Thursday"); } else if (intD==5){ strcpy(strDay,"Friday"); } clrscr(); ViewEmp(strEmpNo); /* INPUT PARAMETERS */ printf("\n Enter Time-In for %s: ", strDay); scanf("%s",strTimeIn); printf("\n Enter Time-Out for %s: ", strDay); scanf("%s",strTimeOut); printf("\n Is it a holiday (Y/N)?:"); scanf("%s",chrHoliday); strcpy(strTimeIn_OT,""); strcpy(strTimeOut_OT,""); if (strcmpi(chrHoliday,"Y")!=0){ printf("\n Enter Time-In (OT) for %s: ", strDay); scanf("%s",strTimeIn_OT); printf("\n Enter Time-Out (OT) for %s: ", strDay); scanf("%s",strTimeOut_OT); } /* PRINT TO FILE */ fprintf(f2,"%s %s %s %s %s %s %s %s %s\n", strCoverageDate, strCoverageDate2, strCoverageDate3, strEmpNo, strTimeIn, strTimeOut, chrHoliday, strTimeIn_OT, strTimeOut_OT); /* COMPUTATIONS */ if (strcmp(chrHoliday,"Y")==0){ fltMH_OT = fltMH_OT + GetMH_OT(strTimeIn,strTimeOut); } else { fltMH = fltMH + GetMH(strTimeIn,strTimeOut); } if (strcmp(chrHoliday,"Y")>0){
fltMH_OT = fltMH_OT + GetMH_OT(strTimeIn_OT,strTimeOut_OT);
}
}
clrscr();
ViewEmp(strEmpNo);
printf("\n Date Coverage: %s %s %s",
strCoverageDate,
strCoverageDate2,
strCoverageDate3);
A = fltMH;
printf("\n A. Total Work Hours: %.2f",A);
B = fltMH_OT;
printf("\n B. Total OT Hours: %.2f",B);
C = mfltSalRate * fltMH / 8;
printf("\n C. Regular Income: %.2f",C);
D = mfltSalRate * fltMH_OT / 8 * 1.1;
printf("\n D. OT Income: %.2f",D);
E = C + D;
printf("\n F. Deductions:");
F1 = E * 0.1;
printf("\n F1. Tax: %.2f",F1);
F2 = E * mfltGSISPcnt;
printf("\n F2. GSIS: %.2f",F2);
printf("\n G. Net Income: %.2f",E-(F1+F2)+500.00);
fclose(f2);
return fltMH;
}
Lorem
Please note:
Delete this widget in your dashboard. This is just a widget example.
Ipsum
Please note:
Delete this widget in your dashboard. This is just a widget example.
Dolor
Please note:
Delete this widget in your dashboard. This is just a widget example.