Source of menudemo.cpp


  1: // Filename: MENUDEMO.CPP
  2: // Purpose:  A test driver for the Menu class.

  4: #include <iostream>
  5: #include <iomanip>
  6: using namespace std;

  8: #include "MENU.H"
  9: #include "PAUSE.H"


 12: int main()
 13: {
 14:     // Declare a first Menu object.  The default constructor will
 15:     // be invoked to create a "blank" menu.
 16:     Menu m1;

 18:     // Show what a menu with no title and no options
 19:     // (i.e. a "default menu) looks like when it is displayed:
 20:     m1.Display();
 21:     Pause(0);

 23:     // Add a title to the blank menu and then re-display the menu:
 24:     m1.AddTitle("New Menu");
 25:     m1.Display();
 26:     Pause(0);

 28:     // Notice what happens when we attempt to get a menu choice from
 29:     // a blank or "title-only" (which is what we have here) menu.
 30:     m1.Display();
 31:     int menuChoice = m1.Choice();
 32:     cout << "The menu choice obtained was " << menuChoice << "." << endl;
 33:     Pause(0);



 37:     // Declare a second menu object and initialize it with a title, then
 38:     // add a number of options, and display the menu after each step.
 39:     // Notice how the menu remains "centered".
 40:     Menu m2("Main Menu");
 41:     m2.Display();
 42:     Pause(0);
 43:     m2.AddOption("Quit");
 44:     m2.Display();
 45:     Pause(0);
 46:     m2.AddOption("Get information");
 47:     m2.Display();
 48:     Pause(0);
 49:     m2.AddOption("Do something");
 50:     m2.Display();
 51:     Pause(0);
 52:     m2.AddOption("Do something really, really long and involved");
 53:     m2.Display();


 56:     // Loop while the user does not choose the Quit option, i.e.
 57:     // while the user does not choose option 1 from the menu.
 58:     bool finished = false;
 59:     while (!finished)
 60:     {
 61:         m2.Display();
 62:         menuChoice = m2.Choice();
 63:         finished = (menuChoice == 1  ||  menuChoice == -1);
 64:         cout << endl
 65:              << "The menu choice returned was " << menuChoice << "."
 66:              << endl;
 67:         Pause(0);
 68:     }



 72:     // Create a third menu with nine options (the maximum number)
 73:     Menu m3("Test Menu");
 74:     m3.AddOption("Option 1");
 75:     m3.AddOption("Option 2");
 76:     m3.AddOption("Option 3");
 77:     m3.AddOption("Option 4");
 78:     m3.AddOption("Option 5");
 79:     m3.AddOption("Option 6");
 80:     m3.AddOption("Option 7");
 81:     m3.AddOption("Option 8");
 82:     m3.AddOption("Option 9");
 83:     m3.Display();
 84:     Pause(0);

 86:     // Now note what happens when you attempt to add another option.
 87:     m3.AddOption("And yet another option ... ");

 89:     cout << endl;

 91:     return 0;
 92: }