All pastes #2113509 Raw Edit

Someone

public text v1 · immutable
#2113509 ·published 2012-02-08 23:53 UTC
rendered paste body
/*
 
 Name: Zach Hoggard
 Student No.: 250 611 551
 Email: zhoggard@uwo.ca
 Section: 004
 Date: February 8, 2012
 
 */


#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main ()

{
    //Declare the purpose of the program
    cout << "This program solves a quadratic equation of the form ax^2 + bx + c.\n";
    
    //Declare variables
    double a, b, c, y1, y2, y3, y4, determinant;
    
    //Ask user to input numbers and store numbers in memory
    cout << "Please input a: "; cin >> a; cout << "\n";
    cout << "Please input b: "; cin >> b; cout << "\n";
    cout << "Please input c: "; cin >> c; cout << "\n";
    
    //Calculate the determinant
    determinant = ((b * b) - (4 * (a * c)));
    
    //Determine what to do depending on the value of the determinant
    
    //If the value of a is 0 and b and c have a non-zero value, calculate the one root
    if (a == 0 && b != 0 && c != 0) {
        y4 = -c / b;
        cout << "Your equation has one real root: " << y4 << "\n";
    } else {
        //If the determinant is 0 the program displays that there is not an answer
    if (determinant == 0) {
        cout << "A solution does not exist!\n";
    }
        //If the determinant is greater than 0 then the program calculates the real roots and displays the answer
    if (determinant > 0) {
        cout << "Your equation has real roots: ";
        y1 = (-b + sqrt(determinant))/(2 * a);
        cout << y1 << " and ";
        y2 = (-b - sqrt(determinant))/(2 * a);
        cout << y2 << ".\n";
        }
        //If the determinant is less than 0 the program calculates the complex roots and displays the answer
    if (determinant < 0) {
        cout << "Your equation has complex roots: " << -b/2;
        y3 = (sqrt(-determinant)/2);
        cout << " + " << y3 << "i\n";
        cout << " and " << -b/2 << " - " << y3 << "i.\n";
        }
    }
    //Program is terminated
    return 0;
}