-
December 11th, 2013, 02:43 AM
#1
need help my (employee payroll program using structures)does not show all data
Im writing a employee payroll program using structures. My program is running but its only showing some of the data.
HERES MY CODE
Code:
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
#include <iomanip>
#include <cstring>
using namespace std;
const int SZ = 20; // size of arrays to hold scores
struct payrollStruct
{
string firstname; // first name of golfer
string lastname; // last name of golfers
string empID;
// int hrs;
};
void tellUser();
int readInput(payrollStruct []);
void bubbleSort(payrollStruct [], int);
int writeReport(payrollStruct [], int);
void swap(payrollStruct *, payrollStruct *);
int main()
{
int i, code, ret; // counter
payrollStruct employee[SZ]; // array of golfers and data
int numemp; // total number of golfers
tellUser(); // tell user what program does
numemp= readInput(employee);
cout << "There were " << numemp << " golfers\n\n";
if (numemp < 1)
{
cout << "Program ending\n\n";
code = 1;
}
else
{
// calculate total and average for each golfer
cout << "calculating average and totals\n";
// sort golfers
cout << "Sorting the golfers in order with the winner first\n";
bubbleSort(employee, numemp);
code = writeReport(employee, numemp);
}
return code;
}
/* **************************************************************************
* output report
* this function writes data to screen and file
* input parameters: array of golfStructs and number golfers
* ouput written to screen and file
-
womengolfreport.txt
* ************************************************************************* */
int writeReport(payrollStruct emp[],int numE)
{
int i; // counter
ofstream outputFile; // output file
// open report file and write output data ********************
cout << "Report being written to file payroll.txt\n";
outputFile.open("payroll.txt"); // output file
if (outputFile.fail())
{
cout << "output file did NOT open\n";
cout << "output will only be sent to the screen\n";
cout << "\n\nGolfer Name Pos rnd1 rnd2 rnd3 rnd4 total average\n";
for ( i=0; i < numE; i++)
{
//emp[i].place = (i + 1);
cout << emp[i].firstname << " ";
cout << emp[i].lastname << " ";
cout << emp[i].empID << "\n";// << emp[i].hrs << " ";
// cout << emp[i].rate << " ";// << glf[i].rounnd[3] << " ";
// cout << glf[i].totalScore << " ";
// cout << glf[i].averageScore << "\n";
}
} // end if file did not open
else
{
cout <<"First Last Employee Hours Rate Regular Overtime Gross\n"; //table of employees payroll data sheet to the screen
cout <<"Name Name Number Worked of Pay Pay Pay Pay\n";
cout <<"===========================================================================================\n";
outputFile <<"First Last Employee Hours Rate Regular Overtime Gross\n";//table of employees payroll data sheet to txt file
outputFile <<"Name Name Number Worked of Pay Pay Pay Pay\n";
outputFile <<"=========================================================================================\n";
// loop to print report of golfers ********************
for ( i=0; i < numE; i++)
{
// emp[i].place = (i + 1);
//outpute << setw(12);
//outputFile << setw(9) << fixed << left << glf[i].lastname << " ";
//outputFile << setw(9) << fixed << left << glf[i].firstname << " ";
//outputFile << glf[i].place << " ";
//outputFile << setw(4) << fixed << left << glf[i].rounnd[0] << " ";
//outputFile << setw(4) << fixed << left << glf[i].rounnd[1] << " ";
//outputFile << setw(4) << fixed << left << glf[i].rounnd[2] << " ";
//outputFile << setw(4) << fixed << left << glf[i].rounnd[3] << " ";
//outputFile << setw(6) << fixed << left << glf[i].totalScore << " ";
//outputFile << setw(7) << fixed << setprecision(2) << glf[i].averageScore << "\n";
cout << fixed << left << emp[i].lastname << setw(10) << emp[i].firstname;
cout << emp[i].empID << "\n";
}
outputFile.close();
cout << "Output file closed\n\n";
} // end else output file open
return 0;
} // end of writeReport **************************************
/* *********************************************************
* bubble sort with flag
* this function sorts golfers into order by total score
* the winner is first with the lowest score, alphabetical
* order when scores match
* input parameters: array of golfStruct and number of golfers
* in that array
* ouput: those array items are now sorted
*************************************************************** */
void bubbleSort(payrollStruct emp[], int numE)
{
bool swapmade = false; // when true a swap was made in this pass
int i, lastpos; // last position to look for correct order
// sort the golfers from winner to loser
cout << "sorting golfers with winner first\n";
lastpos = numE;
do
{
lastpos--;
swapmade = false;
for ( i = 0; i < lastpos; i++)
{
if ( emp[i].lastname > emp[i+1].lastname) // they are in the wrong order
{ // swap all items here
swap(emp[i], emp[i+1]);
swapmade = true;
{
} // end of for loop
} while(swapmade); // end of do loop
}
/* *********************************************************
* readInput
i* This function reads golfer data from a file "women.txt"
* It stores the first and last names of golfers and 4 rounds
* of golf scores for each golfer in an array of structures
* input: first and last names, 4 golf scores each person
* passes back: array of golfer data in structure
*
returns: number of golfers
*************************************************************** */
int readInput(payrollStruct emp[])
{
ifstream inputFile; // input filename in program
int numEmp; // number employees
int i;// counter
// open file and read input from file golfers.txt
inputFile.open("employees2.txt");
if (inputFile.fail())
{
cout << "Error opening file women.txt\n\n";
cout << "end of program\n\n";
return 0;
}
else
{
i = 0; // golfer number for array
while ( ( i < SZ) && (inputFile >> emp[i].empID))
{ // there is a line of data to read and array has rooms
inputFile >> emp[i].lastname; // read last name of golfer
inputFile >> emp[i].firstname; // read first name of golfer
i++; // ready for the next golfer
} // end while
numEmp = i; // number golfers
inputFile.close(); // close the file after reading it
cout << "input file closed\n\n";
return numEmp; // return number golfers read in file
} // end if else
} // end function readInput
/* ***************************************************************
* function tellUser
* it tells the user what the program does
* it prints output to the screen
* input: none output: tells user on s
creen what program does
* returns: none
****************************************************** */
void tellUser()
{
cout << "This program reads a file called employees2.txt,\n";
cout << "and it calculates the total and average for each golfer.\n";
cout << "golfers are sorted into order with winner first and loser last.\n";
cout << "output is written to the screen. and to an output file\n";
cout << "It uses an array of structures to store the data\n";
}
/*************************************
* Function swap
* this function swaps to golfStructs
* input parameters: two golf structs
* output parameters: now swapped with each other
****************************/
void swap(payrollStruct &empa, payrollStruct &empb)
{
payrollStruct temp; // place to store one golfer data
temp = empb;
empb = empa;
empa = temp;
}
and it doesnt show anything from txt file
Code:
40.0 10.00 A1234 Jane Adams
50.0 10.00 L8765 Mary Lincoln
25.5 10.85 W7654 Martha Washington
52.0 15.75 A9876 John Adams
45.0 25.00 W1235 George Washington
40.25 55.00 L9087 Abraham Lincoln
30.0 9.75 T9876 William Tell
42.5 12.50 M7654 Missy Muffett
30.0 10.00 P8765 Peter Piper
45.0 15.00 T8765 Zachary Taylor
50.75 50.00 F5432 Millard Fillmore
40.0 45.50 P3452 Franklin Pierce
-
December 11th, 2013, 08:58 AM
#2
Re: need help my (employee payroll program using structures)does not show all data
Sorry but there is too much code and too little evidence that you tried to solve the problem yourself.
Use a debugger to run one line of code at a time, and check the values of the variables while you run.
If you still have a question after that, you are very welcome to ask.
Nobody cares how it works as long as it works
-
December 11th, 2013, 09:29 AM
#3
Re: need help my (employee payroll program using structures)does not show all data
Is this a payroll program or a golf program?
It would be easier to read you code if you formatted it properly before posting. It is also easier to spot problems.
You have a bracket issue in bubble sort.
Also a problem with swap function declaration and definiton.
You need to learn how to debug your programs properly using the debugger to determine where it deviates from what was expected according to the program design.
Last edited by 2kaud; December 11th, 2013 at 04:58 PM.
All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
December 11th, 2013, 01:56 PM
#4
Re: need help my (employee payroll program using structures)does not show all data
im using linux and it does not give any errors
-
December 11th, 2013, 02:12 PM
#5
Re: need help my (employee payroll program using structures)does not show all data
Originally Posted by Krrish1
im using linux and it does not give any errors
Clearly it has errors, or you wouldn't be here. The debugger will help you find logic errors.
This is a Visual C++ forum, so your question is off-topic here anyway.
-
December 11th, 2013, 02:12 PM
#6
Re: need help my (employee payroll program using structures)does not show all data
Now my program runs when i vomment out the following:
cout << setw(13) << fixed << left << emp[i].lastname << " " <<setw(12) << emp[i].firstname << " ";
cout << setw(11) << emp[i].empID << " " << setw(11) << fixed << setprecision(2) << emp[i].hoursworked<< " ";
cout << setw(8) << fixed << setprecision(2) << emp[i].hourlyrate << "\n";// << regularpay[i] << " ";
// cout << overtimepay[i] << " " << grosspay[i] << " ";
and also can i get help on how to calculate only gross pay
and this is what i get on screen after executing
Code:
First Last Employee Hours Rate Regular Overtime Gross
Name Name Number Worked of Pay Pay Pay Pay
===========================================================================================
Adams Jane A1234 40.00 10.00
Adams John A9876 52.00 15.75
Buchanan James B7612 23.00 48.55
Cleveland Grover C9856 38.50 25.00
Fillmore Millard F5432 50.75 50.00
Grant Ulysses G5612 60.50 35.00
Harrison Benjamin H5431 30.50 28.50
Hayes Rutherford H6542 45.50 35.50
Lincoln Mary L8765 50.00 10.00
Lincoln Abraham L9087 40.25 55.00
Muffett Missy M7654 42.50 12.50
Pierce Franklin P3452 40.00 45.50
Piper Peter P8765 30.00 10.00
Roosevelt Theodore R1234 56.50 45.25
Roosevelt Elenor R2345 25.00 48.75
Taylor Zachary T8765 45.00 15.00
Tell William T9876 30.00 9.75
VanBuren Martin V4532 42.00 40.75
Washington Martha W7654 25.50 10.85
Washington George W1235 45.00 25.00
============================================================================================
Total Gross Pay CAL GROSS PAY ONLY
-
December 11th, 2013, 02:13 PM
#7
Re: need help my (employee payroll program using structures)does not show all data
ok let me try on visual c++
-
December 11th, 2013, 02:15 PM
#8
Re: need help my (employee payroll program using structures)does not show all data
Now my program runs when i vomment out the following:
cout << setw(13) << fixed << left << emp[i].lastname << " " <<setw(12) << emp[i].firstname << " ";
cout << setw(11) << emp[i].empID << " " << setw(11) << fixed << setprecision(2) << emp[i].hoursworked<< " ";
cout << setw(8) << fixed << setprecision(2) << emp[i].hourlyrate << "\n";// << regularpay[i] << " ";
// cout << overtimepay[i] << " " << grosspay[i] << " ";
and also can i get help on how to calculate only gross pay
and this is what i get on screen after executing
Code:
First Last Employee Hours Rate Regular Overtime Gross
Name Name Number Worked of Pay Pay Pay Pay
===========================================================================================
Adams Jane A1234 40.00 10.00
Adams John A9876 52.00 15.75
Buchanan James B7612 23.00 48.55
Cleveland Grover C9856 38.50 25.00
Fillmore Millard F5432 50.75 50.00
Grant Ulysses G5612 60.50 35.00
Harrison Benjamin H5431 30.50 28.50
Hayes Rutherford H6542 45.50 35.50
Lincoln Mary L8765 50.00 10.00
Lincoln Abraham L9087 40.25 55.00
Muffett Missy M7654 42.50 12.50
Pierce Franklin P3452 40.00 45.50
Piper Peter P8765 30.00 10.00
Roosevelt Theodore R1234 56.50 45.25
Roosevelt Elenor R2345 25.00 48.75
Taylor Zachary T8765 45.00 15.00
Tell William T9876 30.00 9.75
VanBuren Martin V4532 42.00 40.75
Washington Martha W7654 25.50 10.85
Washington George W1235 45.00 25.00
============================================================================================
Total Gross Pay CAL GROSS PAY ONLY
-
December 11th, 2013, 03:18 PM
#9
Re: need help my (employee payroll program using structures)does not show all data
Now my program runs when i vomment out the following:
cout << setw(13) << fixed << left << emp[i].lastname << " " <<setw(12) << emp[i].firstname << " ";
cout << setw(11) << emp[i].empID << " " << setw(11) << fixed << setprecision(2) << emp[i].hoursworked<< " ";
cout << setw(8) << fixed << setprecision(2) << emp[i].hourlyrate << "\n";// << regularpay[i] << " ";
// cout << overtimepay[i] << " " << grosspay[i] << " ";
Those lines are not in the program you posted in post #1 so the posted program is not the one you are using. If you wish further advice, I suggest you post the actual program with which you are having the problem.
All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
December 11th, 2013, 04:25 PM
#10
Re: need help my (employee payroll program using structures)does not show all data
THAT WAS THE PART I UPDATED and also can i get help on how to calculate only gross pay
HERE IS THE FULL VERSION OF THE CODE:
Code:
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
#include <iomanip>
#include <cstring>
using namespace std;
const int SZ = 20; // size of arrays to hold employee
struct payrollStruct // strucute of employees
{
double hoursworked; // employess hours worked
double hourlyrate; // employees rate of pay
string empID; // employee ID
string firstname; // first name of employee
string lastname; // last name of employee
//double regularpay; // total of those 4 rounds
// double averageScore; // average of 4 rounds of score
};
void tellUser();
int readInput(payrollStruct []);
void bubbleSort(payrollStruct [], int);
void swap(payrollStruct *, payrollStruct *);
void findregularhours(payrollStruct [], int[], int);
void findregularpay(payrollStruct [], int[], double[], int);
void findovertimehours(payrollStruct [], double[], int);
void findovertimepay(payrollStruct [], double[], double[], int);
void findgrosspay(double[], double[], double[], int);
int writeReport(payrollStruct [], int);
int main()
{
int i, code, ret; // counter
payrollStruct employees[SZ]; // array of golfers and data
int numemp; // total number of golfers
int regularpay, overtimepay,grosspay;
tellUser(); // tell user what program does
numemp= readInput(employees);
cout << "There were " << numemp << " golfers\n\n";
if (numemp < 1)
{
cout << "Program ending\n\n";
code = 1;
}
else
{
// calculate total and average for each golfer
cout << "calculating average and totals\n";
// ret= calcAvg(golfers, numgolf);
// sort golfers
cout << "Sorting the golfers in order with the winner first\n";
bubbleSort(employees, numemp);
code = writeReport(employees , numemp);
}
return code;
}
/* ***************************************************************
* function tellUser
* it tells the user what the program does
* it prints output to the screen
* input: none output: tells user on screen what program does
* returns: none
****************************************************** */
void tellUser()
{
cout << "\nThis program reads a file called employees.txt,\n";
cout << "and it calculates the regular, overtime and gross pay for each golfer.\n";
cout << "employees are sorted into order with employees last name.\n";
cout << "output is written to the screen. and to an output file\n";
cout << "It uses an array of structures to store the data\n";
}
/* *********************************************************
* readInput
* This function reads golfer data from a file "women.txt"
* It stores the first and last names of golfers and 4 rounds
* of golf scores for each golfer in an array of structures
* input: first and last names, 4 golf scores each person
* passes back: array of golfer data in structure
* returns: number of golfers
*************************************************************** */
int readInput(payrollStruct emp[])
{
ifstream inputFile; // input filename in program
int numEmp; // number employees
int i;// counter
// open file and read input from file golfers.txt
inputFile.open("employees2.txt");
if (inputFile.fail())
{
cout << "Error opening file employees2.txt\n\n";
cout << "end of program\n\n";
return 0;
}
else
{
i = 0; // golfer number for array
while ( ( i < SZ) && (inputFile >> emp[i].hoursworked))
{ // there is a line of data to read and array has room
inputFile >> emp[i].hourlyrate;
inputFile >> emp[i].empID;
inputFile >> emp[i].firstname;
inputFile >> emp[i].lastname;
i++; // ready for the next golfer
} // end while
numEmp = i; // number golfers
inputFile.close(); // close the file after reading it
cout << "input file closed\n\n";
return numEmp; // return number golfers read in file
} // end if else
} // end function readInput
/* ************************************
* Function swap
* this function swaps to golfStructs
* input parameters: two golf structs
* output parameters: now swapped with each other
* ************************** */
void swap(payrollStruct &empa, payrollStruct &empb)
{
payrollStruct temp; // place to store one golfer data
temp = empb;
empb = empa;
empa = temp;
}
/* *********************************************************
* bubble sort with flag
* this function sorts golfers into order by total score
* the winner is first with the lowest score, alphabetical
* order when scores match
* input parameters: array of golfStruct and number of golfers
* in that array
* ouput: those array items are now sorted
*************************************************************** */
void bubbleSort(payrollStruct emp[], int numE)
{
bool swapmade = false; // when true a swap was made in this pass
int i, lastpos; // last position to look for correct order
// sort the golfers from winner to loser
cout << "sorting employees with their last name\n";
lastpos = numE;
do
{
lastpos--;
swapmade = false;
for ( i = 0; i < lastpos; i++)
{
if ( emp[i].lastname > emp[i+1].lastname) // they are in the wrong order
{ // swap all items here
swap(emp[i], emp[i+1]);
swapmade = true;
}
} // end of for loop
} while(swapmade); // end of do loop
}
void findregularhours(payrollStruct emp[], int regularhours[], int n)
{
for(int i=0; i<n; i++)
{
if(emp[i].hoursworked > 40) //if the hours is > 40 it will make it 40
regularhours[i]=40; //regular hour = 40
else
regularhours[i]=emp[i].hoursworked;
} //end for loop
} //regularhours()
/* regular()
* calculates employees regular pay
*/
void findregularpay(payrollStruct emp[], int regularhours[], double regularpay [], int n)
{
for(int i=0; i<n; i++)
{
regularpay[i] = regularhours[i]*emp[i].hourlyrate;
} //end for loop
} //regularpay
/* overtime()
* finds if th hours are > 40
*/
void findovertimehours(payrollStruct emp[], double overtimehours[], int n)
{
for(int i=0; i<n; i++)
{
if(emp[i].hoursworked>40)
overtimehours[i]=emp[i].hoursworked-40; //calculates and finds how many hours are overtime
else
overtimehours[i]=0; //if there is no overtime
} //end for loop
} // findsovertimehours
/*findovertimepay()
* calculates employees overtime pay
*/
void findovertimepay(payrollStruct emp[], double overtimehours[], double overtimepay[], int n)
{
for(int i=0; i<n; i++)
{
overtimepay[i]=overtimehours[i]*emp[i].hourlyrate*1.5; // calculating overtime hours
} //end for loop
} // findovertimepay
/* grossPay()
* calculates employees regular + overtime pay
*/
void findgrosspay(double regularpay[], double overtimepay[], double grosspay[], int n)
{
for(int i=0; i<n; i++)
{
grosspay[i]=regularpay[i]+overtimepay[i]; // calculate gross pay
} // end for loop
} //findgrosspay
/* **************************************************************************
* output report
* this function writes data to screen and file
* input parameters: array of golfStructs and number golfers
* ouput written to screen and file womengolfreport.txt
* ************************************************************************* */
int writeReport(payrollStruct emp[],int numE)
{
int i; // counter
ofstream outputFile; // output file
// open report file and write output data ********************
cout << "Report being written to file payrollreport.txt\n";
outputFile.open("payrollreport.txt"); // output file
if (outputFile.fail())
{
cout << "output file did NOT open\n";
cout << "output will only be sent to the screen\n";
cout <<"First Last Employee Hours Rate Regular Overtime Gross\n"; //table of employees payroll data sheet to the screen
cout <<"Name Name Number Worked of Pay Pay Pay Pay\n";
cout <<"===========================================================================================\n";
for ( i=0; i < numE; i++)
{
// emp[i].place = (i + 1);
cout << emp[i].firstname << " ";
cout << emp[i].lastname << " ";
cout << emp[i].empID << " ";
cout << emp[i].hoursworked << " " << emp[i].hourlyrate<< " ";
// cout << emp[i].regularpay[i] << " ";// << glf[i].rounnd[3] << " ";
// cout << emp[i].totalScore << " ";
}
} // end if file did not open
else
{
cout <<"First Last Employee Hours Rate Regular Overtime Gross\n"; //table of employees payroll data sheet to the screen
cout <<"Name Name Number Worked of Pay Pay Pay Pay\n";
cout <<"===========================================================================================\n";
outputFile <<"First Last Employee Hours Rate Regular Overtime Gross\n";//table of employees payroll data sheet to txt file
outputFile <<"Name Name Number Worked of Pay Pay Pay Pay\n";
outputFile <<"=========================================================================================\n";
// loop to print report of golfers ********************
for ( i=0; i < numE; i++)
{
//glf[i].place = (i + 1);
outputFile << setw(12);
outputFile << emp[i].lastname << " ";
outputFile << emp[i].firstname << " ";
outputFile << emp[i].empID << " " << emp[i].hoursworked<< " ";
outputFile << emp[i].hourlyrate << " ";// << regularpay[i] << " ";
// outputFile << overtimepay[i] << " " << grosspay[i] << " ";
cout << setw(13) << fixed << left << emp[i].lastname << " " <<setw(12) << emp[i].firstname << " ";
cout << setw(11) << emp[i].empID << " " << setw(11) << fixed << setprecision(2) << emp[i].hoursworked<< " ";
cout << setw(8) << fixed << setprecision(2) << emp[i].hourlyrate << "\n";// << regularpay[i] << " ";
//cout << overtimepay[i] << " " << grosspay[i] << " ";
}
cout <<"============================================================================================\n";
cout <<"\t\t\tTotal Gross Pay\t\t\t\t\t " << fixed << setprecision(2) << " CAL GROSS PAY ONLY" << " \n";
outputFile <<"============================================================================================\n";
outputFile <<"\t\t\tTotal Gross Pay\t\t\t\t\t " << fixed << setprecision(2) << " CAL GROSS PAY ONLY" << " \n";
outputFile.close();
cout << "Output file closed\n\n";
} // end else output file open
return 0;
} // end of writeReport *************************************
txt file
Code:
40.0 10.00 A1234 Jane Adams
50.0 10.00 L8765 Mary Lincoln
25.5 10.85 W7654 Martha Washington
52.0 15.75 A9876 John Adams
45.0 25.00 W1235 George Washington
40.25 55.00 L9087 Abraham Lincoln
30.0 9.75 T9876 William Tell
42.5 12.50 M7654 Missy Muffett
30.0 10.00 P8765 Peter Piper
45.0 15.00 T8765 Zachary Taylor
50.75 50.00 F5432 Millard Fillmore
40.0 45.50 P3452 Franklin Pierce
and this what i get
Code:
First Last Employee Hours Rate Regular Overtime Gross
Name Name Number Worked of Pay Pay Pay Pay
===========================================================================================
Adams Jane A1234 40.00 10.00
Adams John A9876 52.00 15.75
Buchanan James B7612 23.00 48.55
Cleveland Grover C9856 38.50 25.00
Fillmore Millard F5432 50.75 50.00
Grant Ulysses G5612 60.50 35.00
Harrison Benjamin H5431 30.50 28.50
Hayes Rutherford H6542 45.50 35.50
Lincoln Mary L8765 50.00 10.00
Lincoln Abraham L9087 40.25 55.00
Muffett Missy M7654 42.50 12.50
Pierce Franklin P3452 40.00 45.50
Piper Peter P8765 30.00 10.00
Roosevelt Theodore R1234 56.50 45.25
Roosevelt Elenor R2345 25.00 48.75
Taylor Zachary T8765 45.00 15.00
Tell William T9876 30.00 9.75
VanBuren Martin V4532 42.00 40.75
Washington Martha W7654 25.50 10.85
Washington George W1235 45.00 25.00
============================================================================================
Total Gross Pay CAL GROSS PAY ONLY
-
December 11th, 2013, 05:16 PM
#11
Re: need help my (employee payroll program using structures)does not show all data
There are various ways of approaching this. Possibly the easiest in this case is to add fields to payrollstruct for regularhours etc and to uncomment out regularpay etc. Have the functions findregularhours, findregularpay etc operate directly on the emp parameter so you don't need the regularhours[], regularpay[] arguments etc for the functions. Once the data has been read, call these functions in main() then in writereport() just access the appropriate fields in emp[].
All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
December 11th, 2013, 05:22 PM
#12
Re: need help my (employee payroll program using structures)does not show all data
can you show regularpay as an example
-
December 11th, 2013, 05:37 PM
#13
Re: need help my (employee payroll program using structures)does not show all data
Code:
void findregularpay(payrollStruct emp[], /*int regularhours[], double regularpay [],*/ int n)
{
for (int i = 0; i < n; i++) {
emp[i].regularpay = emp[i].regularhours * emp[i].hourlyrate;
} //end for loop
} //regularpay
All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
December 11th, 2013, 05:58 PM
#14
Re: need help my (employee payroll program using structures)does not show all data
so.. correct me if im wrong i followed ur example
void findregularhours(payrollStruct emp[], //int regularhours[]//, int n)
{
for(int i=0; i<n; i++)
{
if(emp[i].hoursworked > 40) //if the hours is > 40 it will make it 40
emp[i].regularhours[i]=40; //regular hour = 40
else
emp[i].regularhours[i] = emp[i].hoursworked;
} //end for loop
} //regularhours
ALSO CAN YOU SHOW EXAMPLE OF WHAT YOU MEANT BY:
- add fields to payrollstruct for regularhours etc and to uncomment out regularpay etc.
- Once the data has been read, call these functions in main() then in writereport() just access the appropriate fields in emp[].
-
December 11th, 2013, 06:04 PM
#15
Re: need help my (employee payroll program using structures)does not show all data
ALSO CAN YOU SHOW EXAMPLE OF WHAT YOU MEANT BY:
Yes I can, but no I'm not as you should be able to do this yourself as its trivial. What do you think I mean by 'uncomment' and 'add fields to payroll struct for regularhours'?
All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!
C++23 Compiler: Microsoft VS2022 (17.6.5)
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|