Witam, mam pytanie dotyczące tego kodu: https://ideone.com/FgNEAg.
A mianowicie skąd funkcja wyswietl_dane wie jaką wartość ma amount_of_elements i wie co wyswietlic? Z góry dzięki!!!
#include <iostream>
#include <iomanip>
#include <math.h>
void czytaj_dane();
void przetworz_dane();
void wyswietl_dane();
float a,b,c,x1,x2,x0;
char amount_of_elements;
int main()
{
std::cout<<std::fixed<<std::setprecision(2);
czytaj_dane();
przetworz_dane();
wyswietl_dane();
return 0;
}
void czytaj_dane()
{
std::cout<<"Podaj dane rownania\n";
std::cout<<"Podaj a: ";
std::cin>>a;
if(a==0)
{
std::cout<<"Niedozwolona wartosc!!! Nacisnij Enter";
getchar();
exit(1);
}else
{
std::cout<<"b: ";
std::cin>>b;
std::cout<<"i c: ";
std::cin>>c;
}
}
void przetworz_dane()
{
float delta=b*b-4*a*c;
if(delta<0) amount_of_elements=0;
if(delta==0) amount_of_elements=1;
if(delta>0) amount_of_elements=2;
switch (amount_of_elements)
{
case 1:
x0=-b/2*a;
break;
case 2: {
x1=(-b-sqrt(delta))/2*a;
x2=(-b+sqrt(delta))/2*a;
}break;
}
}
void wyswietl_dane()
{
switch(amount_of_elements)
{
case 0:
std::cout<<"Rownanie nie posiada pierwiastkow";
break;
case 1:
std::cout<<"Rownanie ma jeden pierwiastek rowny: "<<x0;
break;
case 2: {
std::cout<<"Rownanie ma dwa pierwiastki\n";
std::cout<<"x1: "<<x1;
std::cout<<"\ni x2: "<<x2;
}
}
}