//Commesso: Commesso.h #ifndef CAPO_H #include "capo.h" #endif #ifndef MAGAZ_H #include "magaz.h" #endif #ifndef MENU_H #include "menu.h" #endif #ifndef COMMESSO_H #define COMMESSO_H class Commesso { Capo *scelti; // Lista dei capi scelti (dal magazzino) Capo *comprati; // Lista dei capi comprati (scelti dall'utente) AttrList *criteri; // Lista dei criteri imposti dal cliente Magazzino *mag; // Magazzino nel quale trovari i capi public: enum CapoScelto { Maglione, Camicia, Pantaloni, Cintura, Cravatta }; Commesso (Magazzino *m) { mag = m; scelti = 0; comprati = 0; criteri = 0; }; // Azioni del commesso void Scegli (CapoScelto scelto); void Cerca (); void Compra (); void ListaScelti (); void ListaDisponibili (); void ToScelti (); void ToDisponibili (); void AddCriterio (AttrList::modo m, AttrList::tipo_t t); }; /* Tutti i 'Menu...' sono uguali. * Contebgono un costruttore con parametri che inizializza la superclasse 'menu' * e la definizione della funzione virtuale pura di 'menu' 'action' */ class MenuCommesso : public menu { protected: virtual void action (void *par); public: MenuCommesso (menu **base,char *n) : menu (base,n) {}; }; class MenuACamicia : public menu { protected: virtual void action (void *par); public: MenuACamicia (menu **base,char *n) : menu (base,n) {}; }; class MenuAMaglione : public menu { protected: virtual void action (void *par); public: MenuAMaglione (menu **base,char *n) : menu (base,n) {}; }; class MenuAPantaloni : public menu { protected: virtual void action (void *par); public: MenuAPantaloni (menu **base,char *n) : menu (base,n) {}; }; class MenuACintura : public menu { protected: virtual void action (void *par); public: MenuACintura (menu **base,char *n) : menu (base,n) {}; }; class MenuACravatta : public menu { protected: virtual void action (void *par); public: MenuACravatta (menu **base,char *n) : menu (base,n) {}; }; class MenuScegli : public menu { protected: virtual void action (void *par); public: MenuScegli (menu **base,char *n) : menu (base,n) {}; }; class MenuScarta : public menu { protected: virtual void action (void *par); public: MenuScarta (menu **base,char *n) : menu (base,n) {}; }; class MenuCompra : public menu { protected: virtual void action (void *par); public: MenuCompra (menu **base,char *n) : menu (base,n) {}; }; class MenuCerca : public menu { protected: virtual void action (void *par); public: MenuCerca (menu **base,char *n) : menu (base,n) {}; }; class MenuModello : public menu { protected: virtual void action (void *par); public: MenuModello (menu **base,char *n) : menu (base,n) {}; }; class MenuTagliaPiu : public menu { protected: virtual void action (void *par); public: MenuTagliaPiu (menu **base,char *n) : menu (base,n) {}; }; class MenuTagliaMeno : public menu { protected: virtual void action (void *par); public: MenuTagliaMeno (menu **base,char *n) : menu (base,n) {}; }; class MenuTaglia : public menu { protected: virtual void action (void *par); public: MenuTaglia (menu **base,char *n) : menu (base,n) {}; }; class MenuColore : public menu { protected: virtual void action (void *par); public: MenuColore (menu **base,char *n) : menu (base,n) {}; }; class MenuVediScelti : public menu { protected: virtual void action (void *par); public: MenuVediScelti (menu **base,char *n) : menu (base,n) {}; }; class MenuVediDisponibili : public menu { protected: virtual void action (void *par); public: MenuVediDisponibili (menu **base,char *n) : menu (base,n) {}; }; #endif