Menu Driven Program in C++
Menu Driven Program in C++ (3 Ways With Output).
1#include <iostream>2using namespace std;34void displayMenu() {5 cout << "\n=== MENU ===" << endl;6 cout << "1. Add" << endl;7 cout << "2. Subtract" << endl;8 cout << "3. Multiply" << endl;9 cout << "4. Divide" << endl;10 cout << "5. Exit" << endl;11 cout << "Enter your choice: ";12}1314int main() {15 int choice;16 double num1, num2, result;1718 do {19 displayMenu();20 cin >> choice;2122 if (choice >= 1 && choice <= 4) {23 cout << "Enter two numbers: ";24 cin >> num1 >> num2;25 }2627 switch(choice) {28 case 1:29 result = num1 + num2;30 cout << "Result: " << result << endl;31 break;32 case 2:33 result = num1 - num2;34 cout << "Result: " << result << endl;35 break;36 case 3:37 result = num1 * num2;38 cout << "Result: " << result << endl;39 break;40 case 4:41 if (num2 != 0) {42 result = num1 / num2;43 cout << "Result: " << result << endl;44 } else {45 cout << "Error: Division by zero!" << endl;46 }47 break;48 case 5:49 cout << "Exiting..." << endl;50 break;51 default:52 cout << "Invalid choice!" << endl;53 }54 } while(choice != 5);5556 return 0;57}
Output
=== MENU === 1. Add 2. Subtract 3. Multiply 4. Divide 5. Exit Enter your choice: 1 Enter two numbers: 10 20 Result: 30 === MENU === 1. Add 2. Subtract 3. Multiply 4. Divide 5. Exit Enter your choice: 5 Exiting...
What's going on
The program creates an interactive menu system that allows users to:
The program runs in a loop, displaying the menu repeatedly until the user selects the exit option.
Header File Used
This header provides:
1#include <iostream>
Understanding Menu-Driven Programs
Key Components
:
Benefits
:
Function: displayMenu()
void displayMenu() {
}
1cout << "\n=== MENU ===" << endl;2cout << "1. Add" << endl;3cout << "2. Subtract" << endl;4cout << "3. Multiply" << endl;5cout << "4. Divide" << endl;6cout << "5. Exit" << endl;7cout << "Enter your choice: ";
How it works
:
Declaring Variables
The program declares:
int choice;
double num1, num2, result;
Main Loop: do-while
do {
displayMenu();
cin >> choice;
} while(choice != 5);
1// ... operations ...
How it works
:
Why do-while?
:
Input Validation
if (choice >= 1 && choice <= 4) {
cin >> num1 >> num2;
}
1cout << "Enter two numbers: ";
How it works
:
Switch-Case for Operations
switch(choice) {
case 1:
result = num1 + num2;
break;
case 2:
result = num1 - num2;
cout << "Result: " << result << endl;
break;
case 3:
result = num1 * num2;
cout << "Result: " << result << endl;
break;
case 4:
if (num2 != 0) {
result = num1 / num2;
cout << "Result: " << result << endl;
} else {
cout << "Error: Division by zero!" << endl;
}
break;
case 5:
cout << "Exiting..." << endl;
break;
default:
cout << "Invalid choice!" << endl;
}
1cout << "Result: " << result << endl;
How it works
:
Division by Zero Check
:
Other Methods (Mentioned but not shown in code)
Method 2: Using Functions
void add() { /* addition logic */ }
void subtract() { /* subtraction logic */ }
switch(choice) {
case 1: add(); break;
case 2: subtract(); break;
// ...
}
1// ... other functions ...
Method 3: Using Classes
class Calculator {
void add() { /* ... */ }
void subtract() { /* ... */ }
};
1// ...