Redo the program given where you have to define and use the following functions: (a) isTriangle - takes 3 sides of a triangle and returns true if they form a triangle, false otherwise. (b) isIsosceles - takes 3 sides of a triangle and returns true if they form an isosceles triangle, false otherwise. (c) isEquilateral - takes 3 sides of a triangle and returns true if they form an equilateral triangle, false otherwise. (d) isRight - takes 3 sides of a triangle and returns true if they form a right triangle, false otherwise. (e) your program should run continuous until the user wants to quit

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter6: Modularity Using Functions
Section6.4: A Case Study: Rectangular To Polar Coordinate Conversion
Problem 3E
icon
Related questions
Question

Redo the program given where you have to define and use the following functions:

(a) isTriangle - takes 3 sides of a triangle and returns true if they form a triangle, false otherwise.


(b) isIsosceles - takes 3 sides of a triangle and returns true if they form an isosceles triangle, false otherwise.


(c) isEquilateral - takes 3 sides of a triangle and returns true if they form an
equilateral triangle, false otherwise.


(d) isRight - takes 3 sides of a triangle and returns true if they form a right triangle, false otherwise.

(e) your program should run continuous until the user wants to quit

The given program:

#include <iostream>

#include <cmath>

using namespace std;

// Constant Declarations

const double E = .0001;

int main()

{

double side1, side2, side3;

bool isTriangle, isRight, isEquilateral, isIsosceles;

cout << "Enter the lengths of the 3 sides of a triangle -- "; cin >> side1 >> side2 >> side3;

isTriangle = side1 + side2 > side3 &&side1 + side3 > side2 && side2 + side3 > side1;

if (isTriangle) {

cout << "This is ";

isEquilateral = fabs(side1 - side2) < E && fabs(side1 - side3) < E;

isIsosceles = fabs(side1 - side2) < E || fabs(side1 - side3) < E || fabs(side2 - side3) < E;

if (isEquilateral) cout << "an equilateral ";

else if (isIsosceles) cout << "an isosceles ";

else cout << "a scalene ";

isRight = fabs(pow(side1, 2) - pow(side2, 2) - pow(side3, 2)) < E || fabs(pow(side2, 2) - pow(side1, 2) - pow(side3, 2)) < E || fabs(pow(side3, 2) - pow(side1, 2) - pow(side2, 2)) < E;

if (isRight)

cout << "and right ";

cout << "triangle" << endl;

}

else cout << "This is not a triangle" << endl;

return 0;

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
COMPREHENSIVE MICROSOFT OFFICE 365 EXCE
COMPREHENSIVE MICROSOFT OFFICE 365 EXCE
Computer Science
ISBN:
9780357392676
Author:
FREUND, Steven
Publisher:
CENGAGE L