home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / tyc / list13_7.c < prev    next >
C/C++ Source or Header  |  1993-10-16  |  2KB  |  81 lines

  1.  /* Demonstrates using an infinite loop and the switch */
  2.  /* statement to implement a menu system. */
  3.  #include <stdio.h>
  4.  #include <stdlib.h>
  5.  #define DELAY 150000
  6.  
  7.  int menu(void);
  8.  void delay(void);
  9.  
  10.  main()
  11.  {
  12.      int choice;
  13.  
  14.     while (1)
  15.      {   
  16.      /* Get the user's selection and branch based on the input. */
  17.  
  18.           switch(menu())
  19.           {
  20.              case 1:
  21.                  {
  22.                  puts("\nExecuting choice 1.");
  23.                  delay();
  24.                  break;
  25.                  }
  26.              case 2:
  27.                  {
  28.                  puts("\nExecuting choice 2.");
  29.                  delay();
  30.                  break;
  31.                  }
  32.              case 3:
  33.                  {
  34.                  puts("\nExecuting choice 3.");
  35.                  delay();
  36.                  break;
  37.                  }
  38.              case 4:
  39.                  {
  40.                  puts("\nExecuting choice 4.");
  41.                  delay();
  42.                  break;
  43.                  }
  44.              case 5:     /* Exit program. */
  45.                  {
  46.                  puts("Exiting program now...");
  47.                  delay();
  48.                  exit(0);
  49.                  }
  50.              default:
  51.                  {
  52.                  puts("Invalid choice, try again.");
  53.                  delay();
  54.                  }
  55.           }
  56.      }
  57.  }
  58.  
  59.  int menu(void)
  60.  /* Displays a menu and inputs user's selection. */
  61.  {
  62.      int reply;
  63.  
  64.      puts("\nEnter 1 for task A.");
  65.      puts("Enter 2 for task B.");
  66.      puts("Enter 3 for task C");
  67.      puts("Enter 4 for task D.");
  68.      puts("Enter 5 to exit program.");
  69.  
  70.      scanf("%d", &reply);
  71.  
  72.      return reply;
  73.  }
  74.  
  75.  void delay( void )
  76.  {
  77.      long x;
  78.      for( x = 0; x < DELAY; x++ )
  79.          ;
  80.  }
  81.