Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please create a class diagram and test chart (showing test input and the delivered output) for database.cpp. Database.cpp---------------------------------------------------------------------------- #include #include #include #include using namespace std;

Please create a class diagram and test chart (showing test input and the delivered output) for database.cpp.

Database.cpp----------------------------------------------------------------------------

#include  #include  #include  #include  using namespace std; #include "ccc_empl.h" const int NEWLINE_LENGTH = 2; const int RECORD_SIZE = 30 + 10 + NEWLINE_LENGTH; /** Converts a string to a floating-point value, e.g. "3.14" -> 3.14. @param s a string representing a floating-point value @return the equivalent floating-point value */ double string_to_double(string s) { istringstream instr(s); double x; instr >> x; return x; } /** Raises an employee salary. @param e employee receiving raise @param percent the percentage of the raise */ void raise_salary(Employee& e, double percent) { double new_salary = e.get_salary() * (1 + percent / 100); e.set_salary(new_salary); } /** Reads an employee record from a file. @param e filled with the employee @param in the stream to read from */ void read_employee(Employee& e, istream& in) { string line; getline(in, line); if (in.fail()) return; string name = line.substr(0, 30); double salary = string_to_double(line.substr(30, 10)); e = Employee(name, salary); } /** Writes an employee record to a stream. @param e the employee record to write @param out the stream to write to */ void write_employee(Employee e, ostream& out) { out << e.get_name() << setw(10 + (30 - e.get_name().length())) << fixed << setprecision(2) << e.get_salary(); } int main() { cout << "Please enter the data file name: "; string filename; cin >> filename; try { if(filename.length()==0) { throw Ex; } } catch { cout<<"please provide valid filename"<> pos; const double SALARY_CHANGE = 5.0; Employee e; fs.seekg(pos * RECORD_SIZE, ios::beg); read_employee(e, fs); raise_salary(e, SALARY_CHANGE); cout << "New salary: " << e.get_salary(); fs.seekp(pos * RECORD_SIZE, ios::beg); write_employee(e, fs); fs.close(); return 0; } 

Ccc_empl.h--------------------------------

#ifndef CCC_EMPL_H

#define CCC_EMPL_H

#include

using namespace std;

/**

A basic employee class that is used in many examples

in the book "Computing Concepts with C++ Essentials"

*/

class Employee

{

public:

/**

Constructs an employee with empty name and no salary.

*/

Employee();

/**

Constructs an employee with a given name and salary.

@param employee_name the employee name

@param initial_salary the initial salary

*/

Employee(string employee_name, double initial_salary);

/**

Sets the salary of this employee.

@param new_salary the new salary value

*/

void set_salary(double new_salary);

/**

Gets the salary of this employee.

@return the current salary

*/

double get_salary() const;

/**

Gets the name of this employee.

@return the employee name

*/

string get_name() const;

private:

string name;

double salary;

};

#endif

Ccc_empl.cpp------------------------------

#include "ccc_empl.h"

Employee::Employee()

{

salary = 0;

}

Employee::Employee(string employee_name, double initial_salary)

{

name = employee_name;

salary = initial_salary;

}

void Employee::set_salary(double new_salary)

{

salary = new_salary;

}

double Employee::get_salary() const

{

return salary;

}

string Employee::get_name() const

{

return name;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

6. Explore crew resource management.

Answered: 1 week ago

Question

4. What advice would you give to Carol Sullivan-Diaz?

Answered: 1 week ago