Advertisement
kutasenator

kalkulator v3 funkcje.c

Dec 19th, 2019
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.63 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include "funkcje.h"
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #define _USE_MATH_DEFINES
  6. #include <math.h>
  7.  
  8. double a, b, z, A, B, C, delta, x1, x2;
  9. int dzialanie, c, d, kat, wybor, poprz, jedendwa, i;
  10.  
  11. void wyswietl(double d, int i)
  12. {
  13.     if (dzialanie != 7)
  14.     {
  15.         printf("Wynik:\n\t%lf\n", d);
  16.     }
  17.     else
  18.     {
  19.         if (delta > 0)
  20.         {
  21.  
  22.             printf("Pierwiastek %d:\n\t%lf\n", i, d);
  23.         }
  24.         else if (delta == 0)
  25.         {
  26.             if (i==1)
  27.             {
  28.             printf("Pierwiastek:\n\t%lf\n", d);
  29.             }
  30.         }
  31.     }
  32. }
  33.  
  34. double dodawanie(double a, double b)
  35. {
  36.     return a + b;
  37. }
  38.  
  39. double odejmowanie(double a, double b)
  40. {
  41.     return a - b;
  42. }
  43.  
  44. double mnozenie(double a, double b)
  45. {
  46.     return a * b;
  47. }
  48.  
  49. double dzielenie(double a, double b)
  50. {
  51.     if (b != 0)
  52.     {
  53.         return a / b;
  54.     }
  55.     else
  56.     {
  57.         do
  58.         {
  59.             printf("Nie dzielimy przez zero!\nPodaj nowa druga liczbe\n");
  60.             scanf("%lf", &b);
  61.         } while (b == 0);
  62.         return a / b;
  63.     }
  64. }
  65.  
  66. double modulo(double a, double b)
  67. {
  68.     int c, d;
  69.     c = (int)a;
  70.     d = (int)b;
  71.         if (d != 0)
  72.         {
  73.             return c % d;
  74.         }
  75.         else
  76.         {
  77.             do
  78.             {
  79.                 printf("Nie dzielimy przez zero!\nPodaj nowa druga liczbe\n");
  80.                 scanf("%lf", &b);
  81.             } while (b == 0);
  82.            
  83.             d = (int)b;
  84.             return c % d;
  85.         }
  86. }
  87.  
  88. double sinus(double a)
  89. {
  90.     double x = M_PI / 180;
  91.     do
  92.     {
  93.         printf("Czy kat zostal podany w:\n\t1.Stopniach\n\t2.Radianach\n");
  94.         scanf("%d", &kat);
  95.     } while (kat != 1 && kat != 2);
  96.     if (jedendwa == 2)
  97.     {
  98.         a = b;
  99.     }
  100.     if (kat == 1)
  101.     {
  102.         return sin(a * x);
  103.     }
  104.     else if (kat == 2)
  105.     {
  106.         return sin(a);
  107.     }
  108. }
  109.  
  110. double fkwadratowa1(double a, double b, double c)
  111. {
  112.     do
  113.     {
  114.         if (A == 0)
  115.         {
  116.             printf("Nie jest to trojmian kwadratowy!\nWybierz nowy wspolczynnik a\n");
  117.             scanf("%lf", &A);
  118.         }
  119.  
  120.     } while (A == 0);
  121.  
  122.     delta = ((B * B) - (4 * A * C));
  123.     if (delta < 0)
  124.     {
  125.         printf("Delta ujemna, brak pierwiastkow.\n");
  126.     }
  127.     else if (delta == 0)
  128.     {
  129.         printf("Delta rowna zero, jeden pierwiastek.\n");
  130.         return ((-B) / (2 * A));
  131.     }
  132.     else if (delta > 0)
  133.     {
  134.         printf("Delta wieksza od zera, dwa pierwiastki.\n");
  135.         return (((-B) - sqrt(delta)) / (2 * A));
  136.     }
  137. }
  138.  
  139. double fkwadratowa2(double a, double b, double c)
  140. {
  141.     delta = ((B * B) - (4 * A * C));
  142.     if (delta < 0)
  143.     {
  144.         printf("\n");
  145.     }
  146.     else if (delta == 0)
  147.     {
  148.         printf("\n");
  149.     }
  150.     else if (delta > 0)
  151.     {
  152.         return (((-B) + sqrt(delta)) / (2 * A));
  153.     }
  154. }
  155.  
  156. double ln(double a)
  157. {
  158.     if (jedendwa == 2)
  159.     {
  160.         a = b;
  161.     }
  162.     if (a <= 0)
  163.     {
  164.         do
  165.         {
  166.             printf("Logarytmujemy liczby dodatnie\nPodaj nowa liczbe logarytmowana.\n");
  167.             scanf("%lf", &a);
  168.         } while (a <= 0);
  169.         return log(a);
  170.     }
  171.     else
  172.     {
  173.         return log(a);
  174.     }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement