In Visual Basic, write a program to determine the real roots of the quadratic equation after requesting the values of a, b, and c. Before finding the roots, ensure that a is nonzero. Note: The equation has 2,1, or 0 solutions depending on whether the value of b^2 – 4*a*c is positive, zero, or negative. In the first two cases, the solutions are given by the quadratic formula:
Below is an example of what the application should look like:
Hints:
- There will either be 0, 1 or 2 solutions to the equation
- If the discriminant of the equation (the part of the numerator under the square root) is a negative number, there are no real solutions.
- If the discriminant is zero, there will only be one solution.
- If the discriminant is positive, there will be two solutions.
Suggested Control Names and Attributes:
Name Property | Text Property | Control Type | Notes |
frmQuadratic | Quadratic | Form | Holds Controls |
txtA | TextBox | Captures value of “A” variable | |
txtB | TextBox | Captures value of “B” variable | |
txtC | TextBox | Captures value of “C” variable | |
btnSolution | Find Solutions | Button | Triggers event to display solutions |
txtSolutions | TextBox | Displays solutions |
Write the Code:
' Project: Quadratic Equation ' Programmer: Janice Wallace ' Date: July 26, 2014 ' Description: Solves the quadratic equation Public Class frmQuadratic Private Sub btnSolution_Click(sender As Object, e As EventArgs) Handles btnSolution.Click Dim varA As Integer = CInt(txtA.Text) Dim varB As Integer = CInt(txtB.Text) Dim varC As Integer = CInt(txtC.Text) Dim discriminant As Integer = (varB * varB) - (4 * varA * varC) Dim solution1 As Double = 0 Dim solution2 As Double = 0 ' Check to make sure A is a positive number If (varA = 0) Then MessageBox.Show("The value of A cannot be zero.") End If ' If the disciminant is negative there is no real solution If (discriminant < 0) Then txtSolutions.Text = "There is no solution" End If ' If the discriminant is zero there is one solution If (discriminant = 0) Then solution1 = (-varB / 2 * varA) txtSolutions.Text = "One solution: " & solution1 End If ' Otherwise there are two solutions If (discriminant > 0) Then solution1 = ((-varB + Math.Sqrt(discriminant)) / (2 * varA)) solution2 = ((-varB - Math.Sqrt(discriminant)) / (2 * varA)) txtSolutions.Text = "Two solutions: " & solution1 & " and " & solution2 End If End Sub End Class