///////////////////////////////////////////////////////////////////////
// ITS – Visoka Škola Strukovnih Studija Za Informacione Tehnologije
// https://www.its.edu.rs/
// Predmet: Osnovi Programiranja – Programski jezik C
//
// Primer: Program za resavanje kvadratne jednacine pomocu funkcije,
//           koja ima argumente a, b i c
///////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <math.h>

void jednacina(double a, double b, double c);

main()
{
  double a = 0.,b,c;

  // poruka korisniku
  printf("Kvadratna jednacina AX^2 + BX + C = 0
");

  while(a==0.)
  {
    // poruka korisniku
    printf("Unesite parametar uz X^2, pri cemu taj parametar mora biti razlicit od nule:
");
    // unos vrednosti sa tastature
    scanf("%lf",&a);
  }
  // poruka korisniku
  printf("Unesite parametar uz X:
");
  // unos sa tastature
  scanf("%lf",&b);
  // poruka korisniku
  printf("Unesite slobodan parametar:
");
  // unos sa tastature
  scanf("%lf",&c);

  // poziv funkcije
  jednacina(a,b,c);
}

void jednacina(double a, double b, double c)
{

  double x1, x2, diskriminanta;

  diskriminanta = b*b-4*a*c;

  if(diskriminanta<0)
  {
    // stampanje resenja
    printf("Ova kvadratna jednacina nema resenja u skupu realnih brojeva.
");
  }

  else if(diskriminanta>0)
  {
    x1= (-b + sqrt(diskriminanta)) / (2.*a);

    x2= (-b – sqrt(diskriminanta)) / (2.*a);

    // stampanje resenja
    printf("Resenja ove kvadratne jednacine su:
x1=%.2lf
x2=%.2lf

", x1, x2);
  }
  else
  {
    // stampanje resenja
    printf("Resenje ove kvadratne jednacine je x = %lf.
", -b/(2.*a));
  }
}