SDEV-240-81/week-05/Week5_areas2.cpp

85 lines
3.1 KiB
C++
Raw Normal View History

2020-02-16 16:37:11 +00:00
// Lab 5 areas2.cpp
// Program to calculate areas of objects
// Llewellyn van der Merwe
// INCLUDE ANY NEEDED FILES HERE.
#include <iostream>
using namespace std;
int main()
{
// DEFINE THE NAMED CONSTANT PI HERE AND SET ITS VALUE TO 3.14159
const float pi = 3.14159;
// DECLARE ALL NEEDED VARIABLES HERE. GIVE EACH ONE A DESCRIPTIVE
// NAME AND AN APPROPRIATE DATA TYPE.
int choice = 0; // Menu choice should be 1, 2, 3, or 4
float width; // used for both square and triangle
float height; // used for both square and triangle
float radius; // used for circle
float area; // the value of the area
// repeat the menu until quit
do
{
// WRITE STATEMENTS HERE TO DISPLAY THE 4 MENU CHOICES.
cout << "Choose an object for which we should calculate the area for you. \n\n";
cout << " 1 -- square\n" << " 2 -- circle\n"
<< " 3 -- right triangle\n" << " 4 -- quit\n\n";
// WRITE A STATEMENT HERE TO INPUT THE USER'S MENU CHOICE.
while (true)
{
cout << "Enter only a number: ";
cin >> choice;
if(cin.fail() || choice > 4 || choice < 1) {
cin.clear(); cin.ignore();
cout << "\nError, you must choose be between 1 and 4\n" << endl;
} else break;
}
// USE AN IF/ELSE IF STATEMENT TO OBTAIN ANY NEEDED INPUT INFORMATION
if (choice == 1 || choice == 3) {
while (true) {
cout << "Enter width: ";
cin >> width;
if (cin.fail()) {
cin.clear();
cin.ignore();
cout << "\nError, must be a number\n" << endl;
} else break;
}
while (true) {
cout << "Enter height: ";
cin >> height;
if (cin.fail()) {
cin.clear();
cin.ignore();
cout << "\nError, must be a number\n" << endl;
} else break;
}
} else if (choice == 2) {
while (true) {
cout << "Enter radius of the circle: ";
cin >> radius;
if (cin.fail()) {
cin.clear();
cin.ignore();
cout << "\nError, must be a number\n" << endl;
} else break;
}
} else if (choice == 4) {
return 0;
}
// AND COMPUTE AND DISPLAY THE AREA FOR EACH VALID MENU CHOICE.
// IF AN INVALID MENU CHOICE WAS ENTERED, AN ERROR MESSAGE SHOULD
// BE DISPLAYED.
if (choice == 1) {
area = width * height;
} else if (choice == 2) {
area = pi * radius * radius;
} else if (choice == 3) {
area = width * height;
}
cout << "\nArea = " << area << "\n======================\n" << endl;
} while (choice < 4);
return 0;
}