EBK C++ FOR ENGINEERS AND SCIENTISTS
EBK C++ FOR ENGINEERS AND SCIENTISTS
4th Edition
ISBN: 8220100444968
Author: Bronson
Publisher: YUZU
Question
Book Icon
Chapter 8, Problem 1PP

(a)

Program Plan Intro

Program Plan:

  • Include library files for various operations.
  • Declare object of ofstream.
  • Create a file named “pay.dat” to write contents.
  • Use if statement with fail() method to check that the entered file name is available or not.
  • Read data from the program and write data to the file.
  • int main() function is used to perform all the task.
  • Display the calculated results to the user.

Program Description: The main purpose of this program is to create the “pay.dat” file and to store the given data in the file.

(a)

Expert Solution
Check Mark

Explanation of Solution

Program:

//including necessary header files
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<string>
#include<iomanip>
usingnamespace std;
int main() { 
string filename = "pay.dat";
// ofstream object
ofstream outFile; 
// open file 
outFile.open(filename.c_str());
// check if file is opened successfully 
if (outFile.fail()) 
{
// display message
    cout <<"The file was not successfully opened"<<endl;
    exit(1);
    } 
// Send data to be written to the file using the 
     outFile <<"Callaway, G."<<"\t"<<16.00<<"  \t"<<40<<endl;
     outFile <<"Hanson, P."<<"  \t"<<15.00<<"  \t"<<48<<endl;
     outFile <<"Lasard, D. "<<"  \t"<<16.50<<"\t"<<35<<endl;
     outFile <<"Stillman, W."<<"\t"<<18.00<<"  \t"<<50<<endl;

// close file 
 outFile.close();
cout<<"File is created successfully!!!!!";

}

Sample output:

EBK C++ FOR ENGINEERS AND SCIENTISTS, Chapter 8, Problem 1PP , additional homework tip  1

File- pay.dat

EBK C++ FOR ENGINEERS AND SCIENTISTS, Chapter 8, Problem 1PP , additional homework tip  2

(b)

Program Plan Intro

Program Plan:

  • Include library files for various operations.
  • Declare an object of ifstream.
  • Create a statement to open the given file “pay.dat”.
  • Use if statement with fail() method to check that the entered file name is available or not.
  • Use while loop to read the file.
  • Calculate Regular pay, by using the below given formula:

  Regular pay=pay amount*hours

  • Calculate Overtime pay, by using the below given formula:

  overtime pay=(hours-40)*(rates*1.5)

  • int main() function is used to perform all the task.
  • Display the calculated results to the user.

Program Description: The main purpose of this program is to modify the program code given in part (a), so that the program can accept data from the given file “pay.dat” and display the name, rate, hours, regular payment, overtime, gross pay, totals of the regular, overtime, and gross pay on the console.

(b)

Expert Solution
Check Mark

Explanation of Solution

Program:

//including necessary header files
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<string>
#include<iomanip>
usingnamespace std;
//main method
int main() 
{ 
//declaring variables
string filename = "pay.dat";
string first, second; 
int hours;
double rates, regPay, overPay=0, total=0, totalOvertym=0, totalGross=0;
// ifstream object
ifstream in; 
// open file 
in.open(filename.c_str());
// check if file is opened successfully 
if (in.fail()) 
{
// display message
    cout <<"The file was not successfully opened"<<endl;
    exit(1);
    } 
in>>first>>second>>rates>>hours;
    cout<<"Name"<<"\t\tRate"<<"\t Hours"<<"\tRegular"<<"\tOvertime"<<"\t GrossPay"<<endl;
//while loop
while(in.good())
    {
//if working hours are 40 or less
if(hours<=40)
        {
//calculating pay
            regPay=hours*rates;
            overPay=0;
        }
//if pay is greater than 40
if(hours>40)
        {
//calculating pay
            regPay=40* rates;
            overPay=(hours-40)*(rates*1.5);
        }
//displaying message to the user
        cout<<first<<" "<<second<<"\t"<<rates<<"\t"<<hours<<"\t"<<regPay
<<"\t"<<overPay<<"\t\t"<<(regPay+overPay)<<endl;
//calculating total amount
        total=total+regPay;
        totalOvertym=totalOvertym+overPay;
        totalGross=totalGross+regPay+overPay;
//reading data from the file
in>>first>>second>>rates>>hours;

    }
//displaying calculated results to the user
    cout<<"______________________________________________________________"<<endl;
    cout<<"Total \t\t\t\t"<<total<<"\t"<<totalOvertym<<"\t\t"<<totalGross;
// close file 
in.close();
}//end of main method

Sample output:

EBK C++ FOR ENGINEERS AND SCIENTISTS, Chapter 8, Problem 1PP , additional homework tip  3

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
C++ program chose the correct result for each of the following programming statements
Using the code and the function above
For each of the following statements, state whether it is True or False.
Knowledge Booster
Background pattern image
Similar questions
Recommended textbooks for you
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning