- Mar 27, 2002
- 3
- 0
- 0
Okay this is my homework http://www-scf.usc.edu/~csci101/Fall2001/assignments.html it is assignment 7.
Here is my code:
#include <stdio.h>
int getinfo(FILE *fpID, int *empid, int *dept, float *pay_rate, char *exempt, int *hrs_worked);
int writeinfo(FILE *fpworker, int empid, float base_pay, float overtime, float total_pay);
void cal_sal(float base_pay, float overtime, float *total_pay, char exempt, float pay_rate, int hrs_worked);
int main()
{
FILE *fpID;
FILE *fpworker;
int empid;
int dept;
float pay_rate;
int hrs_worked;
float base_pay;
float overtime;
float total_pay;
char exempt;
printf("\nBegin Employees salary calculation\n");
if (!(fpID=fopen("emp.dat", "r")))
{
printf("\aError opening student file\n");
return 100;
}
if (!(fpworker=fopen("worker.dat", "w")));
{
printf("\aError opening worker file\n");
return 102;
}
while (getinfo(fpID, &empid, &dept, &pay_rate, &exempt, &hrs_worked))
{
cal_sal(base_pay, overtime, &total_pay, exempt, pay_rate, hrs_worked);
writeinfo(fpworker, empid, base_pay, overtime, total_pay);
}
fclose(fpID);
fclose(fpworker);
return 0;
}
int getinfo(FILE *fpID, int *empid, int *dept, float *pay_rate, char *exempt, int *hrs_worked)
{
int ioResult;
ioResult = fscanf(fpID,"%d%d%f%c%d", empid, dept, pay_rate, exempt, hrs_worked);
if (ioResult==EOF)
return 0;
else if (ioResult !=5)
{
printf("\aError reading data\n");
return 0;
}
else
return 1;
}
void cal_sal(float base_pay, float overtime, float *total_pay, char exempt, float pay_rate, int hrs_worked)
{
int time;
base_pay= pay_rate*hrs_worked;
if(exempt== 'n' || exempt== 'N')
{
if(hrs_worked>40)
time= hrs_worked - 40;
}
overtime=time *((pay_rate * 1.5)+pay_rate);
*total_pay= base_pay + overtime;
}
int writeinfo(FILE *fpworker, int empid, float base_pay, float overtime, float total_pay)
{
fprintf(fpworker, "%04d %.2f %.2f %.2f\n", empid, base_pay, overtime, total_pay);
return 0;
}
WHILE ISN'T IT WORKING I MEAN IT COMPILE BUT IT DOESN'T PRINT OUT ANYTHING!!
PLEASE HELP ME THIS PROGRAM IS DUE TOMORROW!!!!!!!!
Here is my code:
#include <stdio.h>
int getinfo(FILE *fpID, int *empid, int *dept, float *pay_rate, char *exempt, int *hrs_worked);
int writeinfo(FILE *fpworker, int empid, float base_pay, float overtime, float total_pay);
void cal_sal(float base_pay, float overtime, float *total_pay, char exempt, float pay_rate, int hrs_worked);
int main()
{
FILE *fpID;
FILE *fpworker;
int empid;
int dept;
float pay_rate;
int hrs_worked;
float base_pay;
float overtime;
float total_pay;
char exempt;
printf("\nBegin Employees salary calculation\n");
if (!(fpID=fopen("emp.dat", "r")))
{
printf("\aError opening student file\n");
return 100;
}
if (!(fpworker=fopen("worker.dat", "w")));
{
printf("\aError opening worker file\n");
return 102;
}
while (getinfo(fpID, &empid, &dept, &pay_rate, &exempt, &hrs_worked))
{
cal_sal(base_pay, overtime, &total_pay, exempt, pay_rate, hrs_worked);
writeinfo(fpworker, empid, base_pay, overtime, total_pay);
}
fclose(fpID);
fclose(fpworker);
return 0;
}
int getinfo(FILE *fpID, int *empid, int *dept, float *pay_rate, char *exempt, int *hrs_worked)
{
int ioResult;
ioResult = fscanf(fpID,"%d%d%f%c%d", empid, dept, pay_rate, exempt, hrs_worked);
if (ioResult==EOF)
return 0;
else if (ioResult !=5)
{
printf("\aError reading data\n");
return 0;
}
else
return 1;
}
void cal_sal(float base_pay, float overtime, float *total_pay, char exempt, float pay_rate, int hrs_worked)
{
int time;
base_pay= pay_rate*hrs_worked;
if(exempt== 'n' || exempt== 'N')
{
if(hrs_worked>40)
time= hrs_worked - 40;
}
overtime=time *((pay_rate * 1.5)+pay_rate);
*total_pay= base_pay + overtime;
}
int writeinfo(FILE *fpworker, int empid, float base_pay, float overtime, float total_pay)
{
fprintf(fpworker, "%04d %.2f %.2f %.2f\n", empid, base_pay, overtime, total_pay);
return 0;
}
WHILE ISN'T IT WORKING I MEAN IT COMPILE BUT IT DOESN'T PRINT OUT ANYTHING!!
PLEASE HELP ME THIS PROGRAM IS DUE TOMORROW!!!!!!!!
