#include <iostream>
#include <iomanip>
#include <climits>
#include <cmath>

using namespace std;

double PobierzLiczbe(char txt[])
  {
   double Liczba;
   while(true)
     {
      cout<<"Podaj "<<txt<<": ";
      cin>>Liczba;
      if(cin.good())
        {
         int C;
         bool F=true;
         while((C=cin.get())!='\n') if((C!=' ')&&(C!='\t')) F=false;
         if(F) break;
        }
      else
        {
         cin.clear();
         cin.ignore(INT_MAX,'\n');
        }
      cout<<"Blad wprowadzenia"<<endl<<endl;
     }
   return(Liczba);
  }

int main()
  {
   while(true)
     {
      double a,b,c;
      cout<<"Rozwiazanie rownania Axx+Bx+C=0"<<endl;
      a=PobierzLiczbe("A");
      if(!a) return(0);
      b=PobierzLiczbe("B");
      c=PobierzLiczbe("C");
      double d=b*b-4*a*c;
      if(d<0) cout<<"Brak rozwiazan"<<endl<<endl;
      else
        {
         double x1,x2;
         if(!d)
           {
            x1=x2=-b/2/a;
            cout<<"X="<<x1<<endl;
           }
         else
           {
            x1=(-b-sqrt(d))/2/a;
            x2=(-b+sqrt(d))/2/a;
            cout<<"X1="<<x1<<'\t'<<"X2="<<x2<<endl;
           }
         cout<<a<<"xx";
         if(b)
           {
            if(b>0) cout<<'+';
            cout<<b<<'x';
           }
         if(c)
           {
            if(c>0) cout<<'+';
            cout<<c;
           }
         cout<<'=';
         if(!x1) cout<<'x';
         else
           {
            cout<<"(x";
            if(x1<0) cout<<'+';
            cout<<-x1;
            cout<<')';
           }
         if(!x2) cout<<'x';
         else
           {
            cout<<"(x";
            if(x2<0) cout<<'+';
            cout<<-x2;
            cout<<')';
           }
         cout<<endl<<endl;
        }
     }
  }
