Click here to Skip to main content
15,885,244 members
Articles / Programming Languages / C++
Tip/Trick

A simple program to solve quadratic equations with

Rate me:
Please Sign up or sign in to vote.
1.44/5 (10 votes)
11 Nov 2010CPOL 47.2K   3   6
A simple program to calculate quadratic equation with.Input MUST have the format:AX2 + BX + C = 0EXAMPLE: input the equation 2X2 + 4X -30 = 0 as:A= 2 B= 4 C= -30The answers for AX2 + BX + C = 0 should be 3 and -5.x1=3x2=-5 bool solver(float...
A simple program to calculate quadratic equation with.


Input MUST have the format:
AX2 + BX + C = 0


EXAMPLE: input the equation
2X2 + 4X -30 = 0 as:


A= 2 B= 4 C= -30


The answers for AX2 + BX + C = 0 should be 3 and -5.

x1=3

x2=-5


bool solver(float a,float b, float c, float &x1, float &x2)
{
	float delta = sqrt( (b*b) - (4*a*c) );

    if (!a)  return false; 
 
    x1 = ( -b + delta)/(2*a);
    x2 = ( -b - delta)/(2*a);

	return true;
}


int main()
{
	float a=2,
              b=4,
              c=-30; 
	

/*
 	printf("a = ");
	scanf("%f", &a);
	printf("b = ");
	scanf("%f", &b);
	printf("c = ");
	scanf("%f", &c);

*/

float x1,x2;
if ( solver(a, b ,c, x1, x2) ) 	printf("x1=%f\nx2=%f\n",x1,x2);
 
return 0;
} 


...

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Sweden Sweden
About me:
I attended programming college and I have a degree in three most famous and successful programming languages. C/C++, Visual Basic and Java. So i know i can code. And there is a diploma hanging on my wall to prove it.
.
I am a professional, I am paid tons of cash to teach or do software development. I am roughly 30 years old .

I hold lectures in programming. I have also coached students in C++, Java and Visual basic.

In my spare time i do enjoy developing computer games, and i am developing a rather simple flight simulator game
in the c++ programming language using the openGL graphics libray.

I've written hundreds of thousands of code syntax lines for small simple applications and games.

Comments and Discussions

 
GeneralReason for my vote of 1 delta can be negative a=c=1E-8 and ... Pin
vtorri15-Nov-10 19:28
professionalvtorri15-Nov-10 19:28 
GeneralReason for my vote of 1 Low quality code, poor instructions ... Pin
BillW3310-Nov-10 8:43
professionalBillW3310-Nov-10 8:43 
GeneralReason for my vote of 1 Is this from a 8 year old? Pin
sisira9-Nov-10 15:08
sisira9-Nov-10 15:08 
GeneralReason for my vote of 2 Can crash ! Pin
YvesDaoust8-Nov-10 23:26
YvesDaoust8-Nov-10 23:26 
GeneralReason for my vote of 1 A major problem is it doesn't preven... Pin
Andrew Phillips7-Nov-10 15:01
Andrew Phillips7-Nov-10 15:01 
GeneralReason for my vote of 1 There are so many things wrong with ... Pin
Saurabh.Garg6-Jun-10 20:21
Saurabh.Garg6-Jun-10 20:21 
Reason for my vote of 1
There are so many things wrong with this code.

You say that INPUT must be for the form: AX2+BX+C=0, but that is clearly not true. The input to solver() is a, b, and c. There is no input for main. So which input you are talking about?

Then solve is not at all robust. What happens when b*b is less then 4*a*c? What happens when a is very close to 0?

-Saurabh

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.