//******************************************************************
// SPECIFICATION FILE (timecard.h)
// This file gives the specification of a TimeCard ADT
//******************************************************************
#ifndef TIMECARD_H
#define TIMECARD_H

#include "time.h"

class TimeCard
{
public:
    void Punch( /* in */ int hours,
                /* in */ int minutes,
                /* in */ int seconds );
        // Precondition:
        //     0 <= hours <= 23  &&  0 <= minutes <= 59
        //  && 0 <= seconds <= 59
        // Postcondition:
        //     Time is punched according to the incoming parameters

    void SetID( /* in */ long idNum );
        // Precondition:
        //     idNum is assigned
        // Postcondition:
        //     ID number on the time card is idNum

    long IDPart() const;
        // Postcondition:
        //     Function value == ID number on the time card

    Time TimePart() const;
        // Postcondition:
        //     Function value == time stamp on the time card

    void Print() const;
        // Postcondition:
        //     Time card has been output in the form
        //       ID: 235658 Time: 08:14:25

    TimeCard();
        // Postcondition:
        //     Class object is constructed with an ID number of 0
        //     and a time of 0:0:0
private:
    long id;
    Time timeStamp;
};
#endif
