Code -
//___________Real roots of quadratic equation...(Function Example)________
/* Quadratic equations has roots if and only if the Discriminent of a quadratic equation is greater than or equal to 0
D = b * b - 4 a * c
The formula given above is used to check whether real roots exist or not before calculation */
//____________Inlcude Header Files____________
#include<stdio.h>
#include<conio.h>
//_________Inlcuded mainly for getch() function_________
#include<math.h>
//Included mainly for the sqrt() function______
int check_roots(int a, int b, int c);
//__________Function prototype to check whether real roots exist or not_________
void roots(double discriminent, int a, int b, int c);
//_________Function prototype to find out the roots of quadratic equation____________
int main()
//_________Function from where the program execution starts_____________
{
int xsq_coefficient = 0, x_coefficient = 0, constant = 0, discriminent = 0;
printf("\n\n _______Program will calculate the roots of a Quadratic Equation______");
printf("\n\n Quadratic Equation is in form of :- \n\n\t A (x * x) + B (x) + C = 0, where C is a constant"); //_______Message for User________
printf("\n\n\t Enter the value for A - ");
//__Prompting the user to enter the value for coefficient of X square i.e. x * x__
scanf("%d", &xsq_coefficient);
//__Reading the user input and storing it in variable xsq_coefficient______
printf("\n\t Enter the value for B - ");
//__Prompting the user to enter the value for coefficient of X ___
scanf("%d", &x_coefficient);
//_Reading the user input and storing it in variable x_coefficient__
printf("\n\t Enter the value for C - ");
//_Prompting the user to enter the value of C__
scanf("%d", &constant);
//_Reading the user input and storing it in variable constant____
discriminent = check_roots (xsq_coefficient, x_coefficient, constant);
//_____Calling the check_roots function to get the value for discriminent______
if (discriminent >= 0)
//___Checking if discriminent if +ive and greater than equal to 0, roost exist____
{
roots((double)discriminent, xsq_coefficient, x_coefficient, constant);
/*___Calling the roots function to find out and display the roots for the quadratic equation__*/
}
else
{
printf("\n\n\t\t ________Roots are not real________");
//__________If roots dont exist, message gets displayed_______________
}
printf("\n\n_______________________________________________________________________________");
getch();
return 0;
/*_Return 0 tells the compiler that this program has executed successfully without any error___*/
}
int check_roots(int a, int b, int c)
{
int discriminent = 0;
discriminent = b * b - 4 * a * c;
//_Calculating discriminent using the given formula_
return discriminent;
}
void roots(double discriminent, int a, int b, int c)
{
double x1 = 0, x2 = 0;
//__Finding the first root_____
x1 = x1 + sqrt(discriminent);
x1 = x1 - b;
x1 = x1 / (2 * a);
//___Finding the second root___
if (discriminent == 0.00)
{
x2 = x1; //___If discriminent is 0, then roots are equal_
}
else
{
x2= x2 - sqrt(discriminent);
x2 = x2 - b;
x2 = x2 / (2 * a);
}
printf("\n\n Roots for the Quadratic Equation :- %lf, %lf",x1,x2);
//____________Displaying the value for the roots______________
}
No comments:
Post a Comment