C++ do while loop Display a menu that gives the user the choice

Description

C++ do while loop Display a menu that gives the user the choice

#include <iostream>
using namespace std;
#include <stdlib.h>
#include <iomanip.h>
#include <stdio.h>
struct inventory            // Global structure definition.
{
   long int storage;
   int access_time;
   char vendor_code;
   float cost;/*ww w.jav  a 2 s.co  m*/
   float price;
};              // No structure variables defined globally.
void disp_menu(void);
struct inventory enter_data();
void see_data(inventory disk[125], int num_items);
void main()
{
   inventory disk[125];   // Local array of structures.
   int ans;
   int num_items=0;               // Number of total items

   do
   {
      do
      {
         disp_menu();    // Display menu of user choices.
         cin >> ans;               // Get user's request.
      } while ((ans<1) || (ans>3));
      switch (ans)
      {
         case (1): {
            disk[num_items] = enter_data(); // Enter disk data.
            num_items++;   // Increment number of items.
            break;
         }
         case (2): {
            see_data(disk, num_items);  // Display disk data.
            break;
         }
         default : {
            break;
         }
      }
   }  while (ans!=3);           // Quit program when user is done.
   return;
}
void disp_menu(void)
{
   cout << "Do you want to:\n\n";
   cout << "\t1. Enter new item in inventory\n\n";
   cout << "\t2. See inventory data\n\n";
   cout << "\t3. Exit the program\n\n";
   cout << "What is your choice? ";
   return;
}
inventory enter_data()
{
   inventory disk_item;   // Local variable to fill with input.
   cout << "\n\nWhat is the next drive's storage in bytes? ";
   cin >> disk_item.storage;
   cout << "What is the drive's access time in ms? ";
   cin >> disk_item.access_time;
   cout << "What is the drive's vendor code (A, B, C, or D)? ";
   fflush(stdin);  // Discard input buffer before accepting character.
   disk_item.vendor_code = getchar();
   getchar();  // Discard carriage return
   cout << "What is the drive's cost? ";
   cin >> disk_item.cost;
   cout << "What is the drive's price? ";
   cin >> disk_item.price;
   return (disk_item);
}
void see_data(inventory disk[125], int num_items)
{
   int ctr;
   cout << "\n\nHere is the inventory listing:\n\n";
   for (ctr=0;ctr<num_items;ctr++)
   {
      cout << "Storage: " << disk[ctr].storage << "\t";
      cout << "Access time: " << disk[ctr].access_time << "\n";
      cout << "Vendor code: " << disk[ctr].vendor_code << "\t";
      cout << setprecision(2);
      cout << "Cost: $" << disk[ctr].cost << "\t";
      cout << "Price: $" << disk[ctr].price << "\n";
   }
   return;
}



PreviousNext

Related