Code:
/*Program will read EmployeeDataFile and create a payroll register containing
the following information:
a. Employee number (left-justifed)
b. Department
c. Pay rate
d. Exempt
e. Hours worked
f. Base pay (pay rate * hours worked)
Written by: silhoutte75
Date: 11/01/07
*/
#include <stdio.h>
#include <stdlib.h>
#define _CRT_SECURE_NO_DEPRECATE
//Function Declarations
int getEmployData (FILE* spEmployeeData, int* employNum, int* depart, int*payRate,
char* exempt, int*hourWork);
void calcPay (int payRate, int hourWork, int* payCheck);
int payrollReg (FILE* spEmployeeData, int employNum, int depart, int payRate,
char exempt, int hourWork, int payCheck);
int main (void)
{
//Local Declarations
FILE* spEmployeeData;
int employNum;
int depart;
int payRate;
char exempt;
int hourWork;
int payCheck;
int* count;
int quit;
//Statements
printf("Employee files and payroll register\n\n");
spEmployeeData = fopen("Data.txt" ,"r");
fscanf(spEmployeeData, "%d %d %1.2f %c %d ", &employNum, &depart, &payRate,
&exempt, &hourWork);
if (!spEmployeeData)
{
printf("\aError opening Data\n");
return 100;
} // if open input
while (getEmployData (spEmployeeData, &employNum, &depart,
&payRate, &exempt, &hourWork))
{
calcPay (payRate, hourWork, &payCheck);
payrollReg (spEmployeeData, employNum, depart, payRate, exempt,
hourWork, payCheck);
}// while
fclose(spEmployeeData);
printf("\nTo end program type in Q and enter:");
scanf_s("%d", &quit);
return 0;
}//main
/*============================getEmployData====================================
Reads data from textfile Employee Data.
Pre spEmployeeData is opened and recieve employee information.
Post reads employee information
reads info -- returns 1
EOF or error -- returns 0
*/
int getEmployData (FILE* spEmployeeData, int*employNum, int*depart, int*payRate,
char*exempt, int*hourWork)
{
//Local Declarations
int ioResult;
*int count;
//Statements
ioResult = fscanf(spEmployeeData, "%d-%d-%f-%c-%d %hn", employNum, depart,
payRate, exempt, hourWork, &count);
if (ioResult == EOF)
return 0;
else if (ioResult != 5)
{
printf("\aError reading data\n");
return 0;
}// if
else
return 1;
} // getEmployData
/*==================================CalcPay====================================
Determine employee's pay based on hours worked.
Pre payRate, hourWork
Post payCheck = payRate * hourWork
*/
void calcPay (int payRate, int hourWork, int* payCheck)
{
//Statements
*payCheck = (payRate * hourWork);
return;
} // calcPay
/*=================================payrollReg==================================
Writes the employee register including payearned.
Pre spEmployeeData is opened retrieving necessary information
Post Data Written to file
*/
int payrollReg (FILE* spEmployeeData, int employNum, int depart, int payRate,
char exempt, int hourWork, int payCheck)
{
//Statements
printf ("Employee No. Depart Exempt Hours Worked Pay Check Earned\n");
fprintf (spEmployeeData, "%d-%d-%f-%c-%d", employNum, depart,
payRate, exempt, hourWork, payCheck);
fscanf (spEmployeeData, "%d-%d-%f-%c-%d", &employNum, &depart, &payRate,
&exempt, &hourWork);
return 0;
} // payrollReg
Please help Urgently needed.