Advertisement
Guest User

lab2_prog1_WM

a guest
Mar 28th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main ()
  5. {
  6.     while(1) // wielokrotne realizowanie programu
  7.     {
  8.         int k, decider; //zdefiniowanie zmiennych pomocniczych; 'decider' - decyduje, czy zakonczyc program
  9.         double x, y, suma, roznica, iloczyn, iloraz; //zdefiniowanie zmiennych typu double
  10.  
  11.         do //wczytywanie z zabezpieczeniem formatu (double) zmiennej x
  12.         {
  13.             printf("Podaj x:");
  14.             k=scanf("%lf", &x);
  15.             if(k==0) printf("\nBLAD FORMATU");
  16.             fflush(stdin);
  17.         }
  18.         while (k==0);
  19.         do //wczytywanie z zabezpieczeniem formatu (double) zmiennej y
  20.         {
  21.             printf("\nPodaj y:");
  22.             k=scanf("%lf", &y);
  23.             if(k==0) printf("\nBLAD FORMATU");
  24.             fflush(stdin);
  25.         }
  26.         while (k==0);
  27.  
  28.         suma=x+y; //obliczanie sumy
  29.         printf("\nSuma x+y = %lf",suma); //drukowanie sumy
  30.         roznica=x-y; //obliczanie roznicy
  31.         printf("\nRoznica x-y = %lf",roznica); //drukowanie roznicy
  32.         iloczyn=x*y; //obliczanie iloczynu
  33.         printf("\nIloczyn x*y = %lf",iloczyn); //drukowanie iloczynu
  34.         iloraz=x/y; //obliczanie ilorazu
  35.         printf("\nIloraz x/y = %lf\n",iloraz); //drukowanie ilorazu
  36.  
  37.         double w, licznik, mianownik; // zdefiniowanie zmiennych typu double
  38.  
  39.         if (x+y == 0) //sprawdzenie wartosci pierwszego mianownika (jesli rowny 0, program konczy dzialanie)
  40.         {
  41.             printf("\nBLAD, DZIELENIE PRZEZ 0! (x+y=0)");
  42.             getchar();
  43.             return 1;
  44.         }
  45.         if (x*x+y*y == 0) //sprawdzenie wartosci drugiego mianownika (jesli rowny 0, program konczy dzialanie)
  46.         {
  47.             printf("\nBLAD, DZIELENIE PRZEZ 0! (x*x+y*y=0)");
  48.             getchar();
  49.             return 1;
  50.         }
  51.         if (x+(x/(x*x+y*y)) == 0) //sprawdzenie wartosci trzeciego mianownika (jesli rowny 0, program konczy dzialanie)
  52.         {
  53.             printf("\nBLAD, DZIELENIE PRZEZ 0! (x+(x/(x*x+y*y))=0)");
  54.             getchar();
  55.             return 1;
  56.         }
  57.         if (y/(x+(x/(x*x+y*y)))+y*y*y == 0) //sprawdzenie wartosci czwartego mianownika (jesli rowny 0, program konczy dzialanie)
  58.         {
  59.             printf("\nBLAD, DZIELENIE PRZEZ 0! ((y/(x+(x/(x*x+y*y))))+y*y*y=0)");
  60.             getchar();
  61.             exit(0); //modyfikacja (zamiast return 1, zastosowana funkcja exit()
  62.         }
  63.  
  64.         licznik = x*x+(x/(x+y))+x*x*x; //obliczanie licznika wyrazenia w
  65.         mianownik = (y/(x+(x/(x*x+y*y))))+y*y*y; //obliczanie mianownika wyrazenia w
  66.         w = licznik/mianownik; //obliczanie wartosci wyrazenia w
  67.         printf("\nWynik dzialania w = %lf",w); //drukowanie wartosci wyrazenia w
  68.  
  69.         printf("\nCzy chcesz zakonczyc program?\n0 - TAK\n1 - NIE\n"); //czesc programu odpowiadajaca za
  70.         scanf("%d",&decider);                                          //sterowanie iloscia wykonan programu
  71.         if (decider==0)
  72.         {
  73.             exit(0);
  74.         }
  75.     }
  76.  
  77. // KONIEC PODPUNKTU 1 i 2
  78.  
  79.     getchar();
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement