// @topic S-0301-01-10-50 C++ POS structures // @brief declares structs Cashier, Manager, CashRegister, and so on // structs.h #ifndef STRUCTS_H_INCLUDED_ #define STRUCTS_H_INCLUDED_ #include <ctime> #include <vector> // forward declarations struct Manager; struct RegisterAssignment; struct CashRegister; struct Store { }; struct WorkShift { // list of employees Manager* ptr_manager; }; struct Cashier { static const int MAX_ASSIGNMENTS = 10; RegisterAssignment* assignment_list[ MAX_ASSIGNMENTS ]; int current_assignment; }; struct Manager { // Support assignment of cashiers to registers by a manager void assign_register( Cashier* ptr_cashier, CashRegister* cash_register ); }; // C - style //void manager_assign_register_to_cashier(Manager* ptr_manager, Cashier* ptr_cashier ); struct CashRegister { }; struct RegisterAssignment { CashRegister* ptr_register; Cashier* ptr_cashier; Manager* ptr_manager; time_t start_time; time_t end_time; }; //const int ASSIGNMENTS_PER_SHIFT = 1000; //RegisterAssignment assignment_list[ASSIGNMENTS_PER_SHIFT]; extern std::vector< RegisterAssignment > assignments; // ArrayList< RegisterAssignment > -- java #endif // STRUCTS_H_INCLUDED_