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

Please write your own source code and make sure the code compiles. C++ Programmi

ID: 3840116 • Letter: P

Question

Please write your own source code and make sure the code compiles. C++ Programming. Quadratic Root Tool. QuadraticRootTool.cpp
The roots of a quadratic equation in the form a x^2 + b x + c = 0 can be obtained using these formulas:

Write a program that prompts the user to enter values for a, b, and c and displays the result based on the discriminant. If the discriminant is positive, display two roots. If the discriminant is 0, display one root. Otherwise, display "The equation has no real roots."

Note that you can use sqrt(x) (#include ) to compute square root of x.

Here are some sample runs; please match this output format EXACTLY (matching at least 4 decimal places). This means the output must list r1 (the “positive” root) first if there are two roots:

Here is a sample run:

Enter a, b, c: 1.0 3 1

The equation has two roots: -0.38166 and -2.61803

Enter a, b, c: 1 2.0 1

The equation has one root: -1

Enter a, b, c: 1 2 3

The equation has no real roots.

2a. 4ac

Explanation / Answer

Code:

#include <iostream>
#include <cmath>
using namespace std;

// Program to demonstrate Quadratic root equation
int main()
{
   double a, b, c;
   double discriminant, root1, root2;

   // Taking input from user
   cout << "Enter a,b, c: ";
   cin >> a;
   cin >> b;
   cin >> c;

   // Calculate discriminant from the given values of a, b, c
   discriminant = b * b - 4 * a * c;
   // if discriminant > 0 will calculate two roots
   if (discriminant > 0) {
       root1 = (-b + sqrt (discriminant) ) / 2 * a;
       root2 = (-b - sqrt(discriminant) ) / 2 * a;
       cout << "The equation has two roots: " << root1 << " " << root2 << endl;
   }
   // if discriminant is negative the equation has no real roots
   else if (discriminant < 0) {
       cout << "The equation has no real roots." << endl;
   }
   // if discriminant is zero there is only root
   else {
       root1 = -b / 2 * a;
       cout << "The equation has one root: "<< root1 << endl;
   }

   return 0;
}

Execution and output:
Enter a,b, c: 1.0 3 1
The equation has two roots: -0.381966 -2.61803

Enter a,b, c: 1 2.0 1
The equation has one root: -1

Enter a,b, c: 1 2 3
The equation has no real roots.

Enter a,b, c: 1 4 2
The equation has two roots: -0.585786 -3.41421

Enter a,b, c: 2 6 1
The equation has two roots: -0.708497 -11.2915

Enter a,b, c: 2 2 2
The equation has no real roots.