This blog serves as a place for me where I can occasionally dump bits of content from my brain. Feel free to browse.

Posts Tagged ‘quadratic equation c++’

C++ – Quadratic Equation Solver

Functions:

checkRoots()
calculateRoots()

#include <iostream>
#include <iomanip>
#include <math.h>
 
using namespace std;
 
int checkRoots(double A, double B, double C) {
 
	int D = pow(B, 2) - 4 * A * C;
 
	if (D > 0) {
		return 0;
	}
	else {
		return D;
	}
 
}
 
void calculateRoots(double A, double B, double C) {
 
	double x1, x2;
 
	x1 = (- B + sqrt(pow(B, 2) - 4 * A * C)) / (2 * A);
	x2 = (- B - sqrt(pow(B, 2) - 4 * A * C)) / (2 * A);
 
	if (x1 != x2) {
		cout << "1. X = " << setprecision(5) << x1 << endl;
		cout << "2. X = " << setprecision(5) << x2 << endl;
	}
	else {
		cout << "X = " << setprecision(5) << x1 << endl;
	}
}
 
int main() {
 
	double A, B, C;
 
	cout << "Quadratic Equation Solver" << endl << endl;
 
	cout << "A = "; cin >> A;
	cout << "B = "; cin >> B;
	cout << "C = "; cin >> C;
 
	int result = checkRoots(A, B, C);
 
	cout << endl;
 
	if (result == 0) {
		calculateRoots(A, B, C);
	}
	else {
		cout << "Complex Roots" << endl;
		cout << "[Discriminant = " << result << "]" << endl;
	}
 
	return 0;
}