Quadratic Equation

This section contains C++ programs implementing different Algorithms .

Quadratic Equation

Postby Web Guru on December 15th, 2008, 3:54 pm

Quadratic Equation implementation in C++

Code: Select all
Quadratic Equation

#include <math.h>
#include <iostream>
using namespace std;
struct graphPoint{
   double x, y;
   };
class QuadraticEquation{
   public:
   QuadraticEquation(double A = 0.0, double B = 0.0, double C = 0.0) : a(A), b(B), c(C){
      xintercepts[0].x = 0.0;
      xintercepts[0].y = 0.0;
      xintercepts[1].x = 0.0;
      xintercepts[1].y = 0.0;
      }
   ~QuadraticEquation(){}


   int getxintercepts(){


      double temp = (b * b) - (4 * a * c);
      if(temp < 0){
         cout << "##-Square Root Error:\n"
              << " ##- SquareRoot ( " << temp << " )\n";
         return 1;
         }

      temp = sqrt ( temp );

      xintercepts[0].x = (b * -1) - temp;
      xintercepts[0].x = xintercepts[0].x / (2 * a);

      xintercepts[1].x  = (b * -1) + temp;
      xintercepts[1].x = xintercepts[1].x / (2 * a);
      return 0;
      }

   void displayequation(){
      if(a != 0){
         cout << a;
         cout << "x^2";}
      if(b >= 1 & a != 0)
         cout << "+";
      if(b != 0)
         cout << b << "x";
      if(c > 0)
         cout << "+";
      if(c != 0)
         cout << c;
      if(a == 0 & b == 0 & c == 0)
         cout << 0;
      cout << "=0" << endl;
      }

   double a, b, c;
   graphPoint xintercepts[2];
   };







void creditsHelp();
void wierdGetch();



int main(int argc, char *argv[]){
cout << "@-Quadratic Equation Solver\n"
     << " @-Karlan Mitchell karlanmitchell-at-comcast-dot-net\n"
     << " @-For Credits/Help enter 0 for A\n";

double a,b,c;

cout << "Enter in values for equation\n";
for(;;){
  cout << "A: ";
  cin >> a;
  if(a == 0.0){
   creditsHelp();
   continue;
   }
  break;
  }
cout << "B: ";
cin >> b;
cout << "C: ";
cin >> c;

QuadraticEquation test(a,b,c);//create the class

test.displayequation();//display the equation with the class function

switch(test.getxintercepts()){/* I am using a switch here instead of
                               * an if because I constanly add/remove
                * error messages to this function*/
   case 1:
      cout << "!!-Equation not possible\n"
           << " !!-If you know that it is possible, please contact me about a bug\n";
      exit(1);
      break;
   }

cout << "x = " << test.xintercepts[0].x << " | " << test.xintercepts[1].x << endl;
cout << "(" << test.xintercepts[0].x << ", 0) & (" << test.xintercepts[1].x << ", 0)\n";


wierdGetch();
return 0;
}
void creditsHelp(){

   cout << "\nThis program was created by me to make my math homework easier\n\n"

        << "What it does:\n"
        << "It takes in the 'a', 'b', and 'c' values for a quadratic equation\n"
        << "which equals zero.\n"
        << "EX: \"x^2 - 3x + 2 = 0\" is equal to \"(x - 2)(x - 1) = 0\"\n"
        << "    ax^2 + bx + c = 0\n"
        << "    The 'a','b', and 'c' values for the equation would be 1, -3, and 2\n"
        << "    The x intercepts for this would be (2, 0) and (1, 0)\n"
        << "    2^2 - 3(2) + 2 = 0 and 1^2 - 3(1) + 2 = 0\n\n"

        << "Why would I use this:\n"
        << "1) You are in Algebra I/II or Geometry\n"
        << "2) Your too lazy to do the quadratic equation on your own which is:\n"
        << "   x=( -b +/- sqrt(bb - 4ac) ) / (2a)\n";
   wierdGetch();
   exit(0);
   }
void wierdGetch(){
   cout << "Press enter to exit...";
   getchar();getchar();//Why do I need, two?  The world may never know
   }
User avatar
Web Guru
 
Posts: 89
Joined: March 24th, 2008, 7:59 am
Location: Lahore, Pakistan

Return to Algorithms

Who is online

Users browsing this forum: No registered users and 0 guests

cron