Advertisement
lewapkon

zad5-70.cpp

Nov 17th, 2013
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.25 KB | None | 0 0
  1. /**
  2.   * Autor: Pawel Koniarski
  3.   * Data: 20 listopada 2013 r.
  4.   * Problem: Program bedacy prostym kalkulatorem sprawdzajacy dzielenie przez 0.
  5.   * Specyfikacja:
  6.   *     Dane: - Liczba calkowita bedaca liczba par, dla ktorych chcemy wykonac
  7.   *             jakas operacje matematyczna (ozn. n).
  8.   *           - Dwie liczby rzeczywiste, na ktorych chcemy dokonac wybranej
  9.   *             operacji matematycznej (ozn. a i b)
  10.   *           - Znak '+', '-', '*', '/' oznaczajacy operacje, ktora mamy dokonac
  11.   *             (ozn. o)
  12.   *     Wyniki:
  13.   * Plik: zad5-70.cpp
  14.   **/
  15.  
  16. #include <iostream>
  17. using namespace std;
  18.  
  19. inline double dod(double a, double b)
  20. {
  21.     return a+b;
  22. }
  23. inline double ode(double a, double b)
  24. {
  25.     return a-b;
  26. }
  27. inline double mno(double a, double b)
  28. {
  29.     return a*b;
  30. }
  31. inline double dzi(double a, double b)
  32. {
  33.     return a/b;
  34. }
  35.  
  36.  
  37. int main()
  38. {
  39.     int n; // sluzy do przechowywania liczby operacji, ktore uzytkownika chce
  40.            // wykonac
  41.     double w; // sluzy do przechowywania wyniku operacji
  42.     double a, b; // sluza do przechowywania liczb, na ktorych uzytkownika chce
  43.              // wykonac wybrana przez siebie operacje
  44.     char o; // sluzy do przechowania znaku operacji, ktora uzytkownik chce
  45.             // wykonac
  46.     bool t; // sluzy do przechowywania informacji o poprawnosci wpisanego znaku
  47.  
  48.     cout << "Podaj liczbe operacji, ktore chcesz wykonac: ";
  49.     cin >> n;
  50.     while (n-- > 0)
  51.     {
  52.         cout << "Podaj dwie liczby rzeczywiste, na ktorych chcesz dokonac "
  53.              << "operacji:\n";
  54.         cin >> a >> b;
  55.  
  56.         t = false;
  57.         while (!t)
  58.         {
  59.             cout << "Podaj znak operacji, ktora chcesz wykonac na podanych "
  60.                  << "przez siebie liczbach:\n dodawanie: +\n odejmowanie: -\n "
  61.                  << "mnozenie: *\n dzielenie: /\n";
  62.             cin >> o;
  63.             switch (o)
  64.             {
  65.             case '+':
  66.                 w = dod(a,b);
  67.                 t = true;
  68.                 break;
  69.             case '-':
  70.                 w = ode(a,b);
  71.                 t = true;
  72.                 break;
  73.             case '*':
  74.                 w = mno(a,b);
  75.                 t = true;
  76.                 break;
  77.             case '/':
  78.                 if (b == 0)
  79.                     cout<<"Nie wolno dzielic przez 0. Sprobuj jeszcze raz.\n\n";
  80.                 else
  81.                 {
  82.                     w = dzi(a,b);
  83.                     t = true;
  84.                 }
  85.                 break;
  86.             default:
  87.                 cout << "Podales niepoprawny znak. Sprobuj jeszcze raz.\n\n";
  88.             }
  89.         }
  90.  
  91.         cout << a << " " << o << " " << b << " = " << w << endl << endl << endl;
  92.     }
  93.  
  94.     cin.sync();
  95.     cin.get();
  96.     return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement