fork(1) download
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <math.h>
  4.  
  5. void czytaj_dane();
  6. void przetworz_dane();
  7. void wyswietl_dane();
  8.  
  9. float a,b,c,x1,x2,x0;
  10. char amount_of_elements;
  11.  
  12.  
  13. int main()
  14. {
  15. std::cout<<std::fixed<<std::setprecision(2);
  16. czytaj_dane();
  17. przetworz_dane();
  18. wyswietl_dane();
  19.  
  20. return 0;
  21. }
  22.  
  23. void czytaj_dane()
  24. {
  25. std::cout<<"Podaj dane rownania\n";
  26. std::cout<<"Podaj a: ";
  27. std::cin>>a;
  28. if(a==0)
  29. {
  30. std::cout<<"Niedozwolona wartosc!!! Nacisnij Enter";
  31. getchar();
  32. exit(1);
  33. }else
  34. {
  35. std::cout<<"b: ";
  36. std::cin>>b;
  37. std::cout<<"i c: ";
  38. std::cin>>c;
  39. }
  40. }
  41.  
  42. void przetworz_dane()
  43. {
  44. float delta=b*b-4*a*c;
  45.  
  46. if(delta<0) amount_of_elements=0;
  47. if(delta==0) amount_of_elements=1;
  48. if(delta>0) amount_of_elements=2;
  49.  
  50.  
  51. switch (amount_of_elements)
  52. {
  53.  
  54.  
  55. case 1:
  56. x0=-b/2*a;
  57. break;
  58.  
  59. case 2: {
  60.  
  61. x1=(-b-sqrt(delta))/2*a;
  62. x2=(-b+sqrt(delta))/2*a;
  63.  
  64. }break;
  65. }
  66. }
  67. void wyswietl_dane()
  68. {
  69. switch(amount_of_elements)
  70. {
  71. case 0:
  72. std::cout<<"Rownanie nie posiada pierwiastkow";
  73. break;
  74. case 1:
  75.  
  76. std::cout<<"Rownanie ma jeden pierwiastek rowny: "<<x0;
  77. break;
  78.  
  79. case 2: {
  80. std::cout<<"Rownanie ma dwa pierwiastki\n";
  81. std::cout<<"x1: "<<x1;
  82. std::cout<<"\ni x2: "<<x2;
  83.  
  84. }
  85. }
  86.  
  87. }
  88.  
Success #stdin #stdout 0s 15240KB
stdin
3
12
5
stdout
Podaj dane rownania
Podaj a: b: i c: Rownanie ma dwa pierwiastki
x1: -31.75
i x2: -4.25