Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

#include <iostream> #include <cmath> using namespace std; void get_input(double

ID: 3641186 • Letter: #

Question

#include <iostream>
#include <cmath>
using namespace std;
void get_input(double side_a, double side_b, double side_c);
bool check_triangle(double side_a, double side_b, double side_c);
void area_perimeter(double side_a, double side_b, double side_c, double area, double perimeter);
void show_output (double area, double perimeter);
double semiperimeter(double side_a, double side_b, double side_c);

int main ()
{
char answer;
double side_a, side_b, side_c, area, perimeter;
double area_perimeter(side_a, side_b, side_c, area, perimeter); MY PROBLEM IS HERE WITH SIDE_A
IT SAYS EXPECTING A ')' WHERE THE COMMA AFTER A IS. WHY IS THAT?
show_output (area, perimeter);

do

{
get_input(side_a, side_b, side_c);
check_triangle(side_a, side_b, side_c);
}
while (answer == 'y' || answer == 'Y');

return 0;
}

void get_input(double side_a, double side_b, double side_c)
{
cout << "Input the length of side a of a triangle: ";
cin >> side_a;

while (side_a <= 0)
{
cout << "Enter a positive nonzero number for the length of side a";
cin >> side_a;
}

cout << "Input the length of side b of a triangle: ";
cin >> side_b;

while (side_b <= 0)
{
cout << "Enter a positive nonzero number for the length of side b";
cin >> side_b;
}

cout << "Input the length of side a of a triangle: ";
cin >> side_c;

while (side_c <= 0)
{
cout << "Enter a positive nonzero number for the length of side c";
cin >> side_c;
}
cout << endl;
}

bool check_triangle(double side_a, double side_b, double side_c)
{
if ((side_a + side_b > side_c)||(side_a+side_c > side_b)||(side_b + side_c > side_a))
return true;
else
return false;
cout << "Those side lengths cannot produce a triangle. ";
}

void area_perimeter(double side_a, double side_b, double side_c, double& perimeter, double& area)
{
double semiPer;

perimeter = side_a + side_b + side_c;
semiperimeter(side_a, side_b, side_c);
area = sqrt(semiPer * (semiPer - side_a) * (semiPer - side_b) * (semiPer- side_c));
}

double semiperimeter(double side_a, double side_b, double side_c)
{
double semiPer;

semiPer = (side_a + side_b + side_c)/2.0;

return semiPer;
}

void show_output (double area, double perimeter)
{
cout << "The area of the triangle is "<< area << " and the perimeter is "<< perimeter << endl;
}

Explanation / Answer

Hi, you are initializing area_perimeter method as it is a variable and that is wrong. double area_perimeter(side_a, side_b, side_c, area, perimeter); when you pass variables in a method parameters you must always declare them the correct way: void area_perimeter(double side_a, double side_b, double side_c,double area, double perimeter); When you run press continue 3 times so it will run, because you need to initialize your 3 sides (side_a, side_b, side_c). But I solved for you what you asked in the question. I hope this helped.