Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Solving Quadratic Equations C++ Modular Programming, Implementing Value-returning Functions, and Implementing Void Functions /** * Gives a string representation of a quadratic equaition * in

Solving Quadratic Equations C++

Modular Programming, Implementing Value-returning Functions, and Implementing Void Functions

/** * Gives a string representation of a quadratic equaition * in standard form.

* @param qCoef the coefficient of the quadratic term.

* @param linCoef the coefficient of the linear term

* @param cTerm the constant term

* @return a string representing a quadratic equation in

* standard form.

*/ string quadToString(double qCoef, double linCoef, double cTerm)

1. When the solution is real (not complex) and the irrational part of the solution is 0, the equation has only one root, rationalPart. The equation has only one x-intercept whose x-coordinate is rationalPart.

2. When the solutions are real and the irrational part of the solution is positive, the equation has two real roots, rationalPart + irrationalPart and rationalPartirrationalPart. 3. When the solutions are complex, the roots of the equation are rationalPart + irrationalParti and rationalPartirrationalParti, where rationalPart should be displayed only when it is non-zero. Also, the equation has no x-intercepts.

To solve the quadratic equation, you will dene two additional sub-functions between the using directive and the main functions:

/** * Computes the discriminant of a quadratic equation with

* the specified parameters. * @param qCoef the coefficient of the quadratic term.

* @param linCoef the coefficient of the linear term

* @param cTerm the constant term

* @return the discriminant of a quadratic equation

*/ double discriminant(double qCoef, double linCoef, double cTerm)

/** * Computes the rational and irrational parts of the solutions

* of a quadratic equation with the specified parameters

* @param qCoef the coefficient of the quadratic term.

* @param linCoef the coefficient of the linear term

* @param cTerm the constant term

* @param rat the rational part of the solution

* @param irrat the irrational part of the solution

* @param cmplx indicates whether or not the roots are complex;

* true when the roots are complex and false if they are real.

*/ void solve(double qCoef, double linCoef, double cTerm, double& rat, double& irrat, bool& cmplx)

Write a C++ program call QuadraticSolver that prompts the user for the coecient of the quadratic term, the coecient of the linear term, and the constant term of a quadratic equation. The program then invokes the quadToString function with the relevant arguments to display the quadratic equation and determines its discriminant, roots, axis of symmetry, vertex, x-intercepts and y-intercept, invoking the appropriate sub-functions, where applicable. It also determines whether the parabola is concave upward or downward. A parabola is concave upward if the coecient of its quadratic term is positive and concave downward when the coecient of the quadratic term is negative.

Write the program incrementally. Write a preliminary version of the program so that it prints a message indicating that the equation is not quadratic if the input for the quadratic coecient is 0 and calls the quadToString function with the relevant arguments to print the quadratic equation in standard form when a non-zero coecient is entered for the quadratic term. You can then dene the discriminant and solve sub-functions and add code to compute the roots and all the properties of the equation, calling the appropriate sub-functions where applicable. You may also want to incrementally add the code for solving the equation: First, the code to solve an equation whose irrational part is 0, second, the code to solve the equation when it has two real roots and, nally, the code to solve the equation when its roots are complex. Typical sample runs of the program should appear as shown below:

Listing 1: Sample Run 1 Enter the coefficient of the quadratic term -> 1 2 Enter the coefficient of the linear term -> -6 3 Enter the constant term -> 9 4 5 For the quadratic equation x^2 - 6x + 9 = 0: 6 7 Discriminant: 0.000 8 Axis of Symmetry: x = 3.000 9 Vertex: (3.000, 0.000) 10 y-intercept: (0.000, 9.000) 11 x-intercept: (3.000, 0.000) 12 Shape: Concave upward 13 Root: x = {3.00000}

Listing 2: Sample Run

1 Enter the coefficient of the quadratic term -> -4

2 Enter the coefficient of the linear term -> 0

3 Enter the constant term -> 64

4

5 For the quadratic equation -4x^2 + 64 = 0:

6

7 Discriminant: 1024.000

8 Axis of Symmetry: x = 0.000

9 Vertex: (0.00000, 64.000)

10 y-intercept: (0.00000, 64.000)

11 x-intercepts: (4.000, 0.000) and (-4.000, 0.000)

12 Shape: Concave downward

13 Roots: x = {-4.000, 4.000}

Listing 3: Sample Run

1 Enter the coefficient of the quadratic term -> 3

2 Enter the coefficient of the linear term -> 45

3 Enter the constant term -> 0

4

5 For the quadratic equation 3x^2 + 45x = 0:

6

7 Discriminant: 2025.00000

8 Axis of Symmetry: x = -7.500

9 Vertex: (-7.500, -168.750)

10 y-intercept: (0.000, 0.000)

11 x-intercepts: (-15.000, 0.000) and (0.000, 0.000)

12 Shape: Concave upward 13 Roots: x = {0.000, -15.000}

Listing 4: Sample Run

1 Enter the coefficient of the quadratic term -> 0

2 Enter the coefficient of the linear term -> 9

3 Enter the constant term -> 2.5

4

5 ERROR: The quadratic term must be nonzero.

Listing 5: Sample Run

1 Enter the coefficient of the quadratic term -> 12

2 Enter the coefficient of the linear term -> -7

3 Enter the constant term -> -12

4

5 For the quadratic equation 12x^2 - 7x - 12 = 0:

6

7 Discriminant: 625.000

8 Axis of Symmetry: x = 0.292

9 Vertex: (0.292, -13.021)

10 y-intercept: (0.000, -12.000)

11 x-intercepts: (-0.750, 0.000) and (1.333, 0.000)

12 Shape: Concave upward

13 Roots: x = {1.333, -0.750}

Listing 6: Sample Run 1 Enter the coefficient of the quadratic term -> 9 2 Enter the coefficient of the linear term -> 0 3 Enter the constant term -> 16 4 5 For the quadratic equation 9x^2 + 16 = 0: 6 7 Discriminant: -576.000 8 Axis of Symmetry: x = -0.000 9 Vertex: (-0.000, 16.000) 10 y-intercept: (0.000, 16.000) 11 x-intercepts: none 12 Shape: Concave upward 13 Roots: x = {1.333i, -1.333i}

Listing 7: Sample Run

1 Enter the coefficient of the quadratic term -> 4

2 Enter the coefficient of the linear term -> -12

3 Enter the constant term -> 25

4

5 For the quadratic equation 4x^2 - 12x + 25 = 0:

6

7 Discriminant: -256.000

8 Axis of Symmetry: x = 1.500

9 Vertex: (1.500, 16.000)

10 y-intercept: (0.000, 25.000)

11 x-intercepts: none

12 Shape: Concave upward 13 Roots: x = {1.500+2.000i, 1.500-2.000i}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions