////////////////////////////////////////////////////////////////////////////////
// ESEMPIO D'USO DELLA CLASSE MENU //
////////////////////////////////////////////////////////////////////////////////
// In questo file sono definite le costanti sulle quali si basano gli oggetti di
// classe MENU definiti nel file main.cpp; predisporre un file a parte ha il
// solo scopo di non rendere prolisso e confuso il file principale del programma
#ifndef TESTO_MENU_H_INCLUDED
#define TESTO_MENU_H_INCLUDED
const int kTotPort = 7; // antipasti, primi, secondi,
// dolci, frutta, bevande, extra
const int kOrdineCompleto = 8; // la posizione della voce "Ordine completo"
// la posizione, in ciascun menu di scelta dei piatti, della voce
// "Nessun antipasto", "Nessun primo", "Nessun secondo"...
const int kNessunOrdine[kTotPort] = { 4, 5, 6, 4, 6, 7, 7 };
// le stringhe "primi", "secondi", ecc. non devono
// avere un numero di caratteri maggiore di...
const int kLungMaxNomePort = 12;
// In questo esempio, le voci dei menu vengono fornite come elenco di puntatori
// a costanti stringhe nei quali la prima stringa rappresenta il "titolo" del
// menu (in maiuscolo, per leggibilita'). L'ultima stringa, vuota, e' usata come
// terminatore per segnalare alla classe MENU che non ci sono voci ulteriori.
// le voci del menu iniziale, quello che elenca le portate
MENU_STR kStrMPort[] = {
"SCEGLI LA PORTATA",
"Antipasti",
"Primi",
"Secondi",
"Dolci",
"Frutta",
"Bevande",
"Extra",
"Ordine completo",
""
};
// le voci del menu di scelta degli antipasti
MENU_STR kStrMAntipasti[] = {
"ANTIPASTO",
"Affettato misto",
"Insalata di mare",
"Fantasia di sottaceti",
"Nessun antipasto",
""
};
// le voci del menu di scelta dei primi
MENU_STR kStrMPrimi[] = {
"PRIMO",
"Penne all'arrabbiata",
"Tagliolini agli scampi",
"Agnolotti d'asino al ragu'",
"Gnocchi al pesto",
"Nessun primo",
""
};
// le voci del menu di scelta dei secondi
MENU_STR kStrMSecondi[] = {
"SECONDO",
"Arrosto di manzo con patate",
"Lonza di maiale alla piastra",
"Spiedini di tacchino con verdure miste",
"Pesce spada al burro",
"Trota in carpione con cipolle",
"Nessun secondo",
""
};
// le voci del menu di scelta dei dolci
MENU_STR kStrMDolci[] = {
"DOLCE",
"Tiramisu' della casa",
"Meringata al caramello",
"Orgia di panna e mascarpone",
"Nessun dolce",
""
};
// le voci del menu di scelta della frutta
MENU_STR kStrMFrutta[] = {
"FRUTTA",
"Frutta mista di stagione",
"Ananas al rum",
"Macedonia al limone",
"Macedonia allo spumante",
"Sorpresa di frutti esotici",
"Niente frutta",
""
};
// le voci del menu di scelta delle bevande
MENU_STR kStrMBevande[] = {
"BEVANDE",
"Acqua di rubinetto (1 litro)",
"Acqua minerale naturale (1/2 litro)",
"Acqua minerale frizzante (1/2 litro)",
"Rosso della casa (1/4 litro)",
"Bianco della casa (1/4 litro)",
"Birra alla spina (1/2 litro)",
"Niente bevande",
""
};
// le voci del menu di scelta degli extra
MENU_STR kStrMExtra[] = {
"EXTRA",
"Babbucce in montone rovesciato leopardato",
"Sedia con rivestimenti in pelle umana DOP",
"Ventilatore manuale azionato da odalisca egiziana IGP",
"Escort laureata in lettere antiche al tavolo",
"Ingegnere informatico indiano al tavolo",
"Prostituta analfabeta sotto al tavolo",
"Niente extra",
""
};
// La classe MENU permette di personalizzare la voce "0" del menu. Per default,
// quella voce e' preimpostata su "Esci dal menu", ma puo' essere cambiata
// agevolmente col metodo imposta_uscita().
MENU_STR kStrEsci = "Esci dal programma";
MENU_STR kStrTornaMPort = "Altra portata";
// La classe MENU permette di personalizzare la richiesta di immissione della
// scelta. Per default, quella voce e' preimpostata su "Indica il numero d'una
// voce", ma puo' essere cambiata agevolmente col metodo imposta_richiesta1().
MENU_STR kStrRicPort = "Indica il numero d'una portata:";
MENU_STR kStrRicPiat = "Indica il numero d'un piatto:";
#endif // TESTO_MENU_H_INCLUDED