Berechnungen sind in meinem Code falsch. Wie repariere ich?C++

Programme in C++. Entwicklerforum
Anonymous
 Berechnungen sind in meinem Code falsch. Wie repariere ich?

Post by Anonymous »

Hier ist, was ich tun soll:

Schreiben Sie einen Basisklassenarbeiter und 2 abgeleitete Klassenstündung und Salariedworker . Jeder Arbeiter hat einen Namen und eine Gehaltsrate. Der stündliche Arbeiter wird für die ersten 40 Stunden vollständig bezahlt und hat den Preis für alle Stunden darüber. Der Arbeitnehmer bezahlt den Stundenlohn 40 Stunden lang, unabhängig von der tatsächlichen Anzahl der Stunden.

Code: Select all

#include 
#include 

using namespace std;

//////////// Worker /////////////////////////////
class Worker
{
public:
Worker();
Worker(string name, int salary);
void print();
int compute_pay(int hours);
string get_name();
int get_salary();
private:
string name;
int salary;
int payout;
};

Worker::Worker() {salary = 0;}
Worker::Worker(string name, int salary)
{
this->name = name;
this->salary = salary;
}
void Worker::print()
{
cout salary * hours;
return payout;
}
string Worker::get_name() {return this->name;}

int Worker::get_salary() { return this->salary;}
//////////// HourlyWorker ///////////////////////
class HourlyWorker : public Worker
{
public:
HourlyWorker(string name, int salary);
int compute_pay(int hours);
private:
string name;
int salary;
int payout;
};

HourlyWorker::HourlyWorker(string name, int salary)
:Worker(name, salary) {}

int HourlyWorker::compute_pay(int hours)
{
int temp = 0;
if (hours >= 40)
{
temp = (this->salary * (hours - 40)) / 2;
this->payout = (this->salary * 40) + temp;
}
else
{
this->payout = this->salary * hours;
}
return payout;
}
//////////// SalariedWorker /////////////////////
class SalariedWorker : public Worker
{
public:
SalariedWorker(string name, int salary);
int compute_pay(int hours);
private:
string name;
int salary;
int payout;
};

SalariedWorker::SalariedWorker(string name, int salary)
:Worker(name, salary) {}

int SalariedWorker::compute_pay(int hours)
{
this->payout = this->salary * 40;
return payout;
}
/////////

int main()
{
HourlyWorker a("Sam", 20);
HourlyWorker b("Mary", 15);
SalariedWorker c("Tom", 30);
SalariedWorker d("Pat", 40);

cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post