blob: 92b33aff1a9a6e44fcc6d01b6a83670eba2d20a6 [file] [log] [blame]
/* piece.h -*- C++ -*-
** Include file for Piece Worker class
**
** COPYRIGHT (C) 1994 Bradley M. Kuhn
**
** Written : Bradley M. Kuhn Loyola College
** By
**
** Written : David W. Binkley Loyola College
** For
**
** Acknowledgements:
** This code is based on code that appears in:
** C++ How to Program by H. M. Deitel and P. J. Deitel
** Prentice Hall, New Jersey, p. 536
**
** RCS :
**
** $Source$
** $Revision$
** $Date$
**
** $Log$
** Revision 1.2 2004/10/05 00:37:32 lattner
** Stop using deprecated headers
**
** Revision 1.1 2004/10/04 20:01:13 lattner
** Initial checkin of all of the source
**
** Revision 0.2 1994/12/31 01:22:21 bkuhn
** -- version were getting data from
**
** Revision 0.1 1994/12/24 00:48:37 bkuhn
** # initial version
**
**
*/
#ifndef _PIECE_H
#define _PIECE_H
#include "wage.h"
#define PIECE_WORKER_ID 4
#include <iostream>
using namespace std;
/* A piece worker gets paid for every item produced */
class PieceWorker : public WageWorker {
private:
int thisWeekTotal; // number of items produced
protected:
void ProducedThisWeek(int);
public:
PieceWorker(const char *, const char * , float = 0.0);
virtual float Earnings();
virtual void Print();
virtual void NewWeek();
};
/*****************************************************************************/
PieceWorker::PieceWorker(const char *first, const char *last, float startWage)
: WageWorker(first, last, startWage)
{
dollarsToRaise = 15.0;
}
/*****************************************************************************/
void
PieceWorker::ProducedThisWeek(int total)
{
thisWeekTotal = total;
}
/*****************************************************************************/
float
PieceWorker::Earnings() {
return Wage() * thisWeekTotal;
}
/*****************************************************************************/
void
PieceWorker::Print() {
cout << " Piece Worker: " << FirstName() << ' ' << LastName();
}
/*****************************************************************************/
void
PieceWorker::NewWeek()
{
int quantity = 3; //rand() % 5;
ProducedThisWeek(quantity);
}
#endif