#include "fmat.h"
#include <stdio.h>


void komunikat(int i, float a, float b, float c,float x1, float x2)
{
   printf("Rownanie y(x) = %.1fx^2 %+.1fx %+.1f",a,b,c);
   switch(i)
   {
      case 0:
         printf(" - Brak miejsc zerowych\n");
         break;
      case 1:
         printf(" - Jedno miejsce zerowe x1=%f\n",x1);
         break;
      case 2:
         printf(" - Dwa miejsca zerowe x2=%f, x2=%f\n",x1,x2);
         break;
      default:
         printf("BLAD - to nie powinno nigdy zajsc\n");
   }
}

int main()
{

   int i,n;
   float a,b,c,x1,x2;

   printf("Program testujacy funkcje matematyczne z pliku fmat.c i fmat.h\n");
   printf("\nFunkcja potega():\n");
   
   a=2.0;
   for(i=-4;i<=4;i++) printf("%3.1f do potegi %2d = %g\n",a,i,potega(a,i));

   printf("\nFunkcja rekurencyjna rpotega():\n");
   for(i=-4;i<=4;i++) printf("%3.1f do potegi %2d = %g\n",a,i,rpotega(a,i));
   

   printf("\nFunkcja silnia():\n");
   for(i=1;i<=20;i++) printf("%2d! = %.0lf\n",i,silnia(i));
   printf("\nFunkcja rekurencyjna rsilnia():\n");
   for(i=1;i<=20;i++) printf("%2d! = %.0lf\n",i,silnia(i));


   printf("\nFunkcja czy_pierwsza():\nLiczby pierwsze mniejsze niz 1000 : ");
   for(i=1;i<=1000;i++) if(czy_pierwsza(i)) printf(" %d",i);
   printf("\n");

   printf("\nFunkcja pierwiastki():\n");
   a=1,b=1,c=1;
   i=pierwiastki(a,b,c,&x1,&x2);
   komunikat(i,a,b,c,x1,x2);


   a=1,b=0,c=-1;
   i=pierwiastki(a,b,c,&x1,&x2);
   komunikat(i,a,b,c,x1,x2);


   a=1,b=-2,c=1;
   i=pierwiastki(a,b,c,&x1,&x2);
   komunikat(i,a,b,c,x1,x2);

   a=0,b=0,c=1;
   i=pierwiastki(a,b,c,&x1,&x2);
   komunikat(i,a,b,c,x1,x2);
   
   a=0,b=1,c=-1;
   i=pierwiastki(a,b,c,&x1,&x2);
   komunikat(i,a,b,c,x1,x2);

   return 0;

}


