/*
MODYFIKACJA poprzedniego zadania
Rozwiązywanie równań kwadratowych
Program prosi o podanie współczynników równania A*x*x+B*x+C=0,
oblicza i drukuje rozwiązanie tego równania.
Po czym zaczyna od początku.
x=(-B±sqrt(B*B-4*A*C))/(2*A);
Uwzględnić możliwość że A może być równa zeru.
instrukcja sterująca while(...) { ... }
niejawna konwersja liczby na wartość logiczną.















*/
#include <iostream>
#include <math>

using namespace std; // w starszych kompilatorach trzeba zakomentować ten wiersz

int main()
  {
   while(true)
     {
      cout<<"Podaj wspolczynniki rownania A*x*x+B*x+C=0: ";
      double A,B,C;
      cin>>A>>B>>C;
      if(cin.good())
        {
         if(A) // bo nie chcemy dzielić przez zero :-)
           {
            double d=B*B-4*A*C;
            if(d<0) cout<<"Brak rozwiazan"<<endl;
            else if(d==0)
              {
               cout<<"x="<<(-B/2/A)<<endl;
              }
            else
              {
               d=sqrt(d);
               cout<<"x1="<<((-B-d)/2/A)<<endl;
               cout<<"x2="<<((-B+d)/2/A)<<endl;
              }
           }
         else if(B) cout<<"x="<<(-C/B)<<endl;
         else if(C) cout<<"Brak rozwiazan"<<endl;
         else cout<<"Rownanie jest prawdziwe dla dowolnego x"<<endl;
        }
      else
        {                             
         cin.clear();
         cout<<"Blad wprowadzenia"<<endl;
        }
      cin.ignore(1024,'\n');
      cout<<endl;
     }
   //return 0; //instrukcja jest zbędna ponieważ program nigdy się nie skończy "dobrowolnie"
  }


