Facebook
From Scribby Capybara, 5 Years ago, written in C++.
This paste is a reply to Untitled from Voluminous Meerkat - view diff
Embed
Download Paste or View Raw
Hits: 376
  1. // ConsoleApplication1.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
  2. //
  3.  
  4. #include "pch.h"
  5. #include <iostream>
  6. #include <string>
  7. using namespace std;
  8.  
  9. struct VerboseOb {
  10.         string x;
  11.         //konstruktor domyslny
  12.         VerboseOb() {
  13.                 x = "<Brak nazwy>";
  14.                 cout << x << " constructed" << endl;
  15.         }
  16.         //konstruktor
  17.         VerboseOb(string x) {
  18.                 this->x = x;
  19.                 cout << x << " constructed" << endl;
  20.         }
  21.         void saySomething() {
  22.                 cout << x << " says hello" << endl;
  23.         }
  24.  
  25.         ~VerboseOb() {
  26.                 cout << x << " destroyed" << endl;
  27.         }
  28.  
  29.  
  30. };
  31.  
  32.  
  33. struct BinominalSolver {
  34.         float a, b, c, x1, x2;
  35.         //konstruktor domyslny
  36.         BinominalSolver() {
  37.                 a = 0;
  38.                 b = 0;
  39.                 c = 0;
  40.         }
  41.         //konstruktor
  42.         BinominalSolver(float a, float b, float c) {
  43.                 this->a = a;
  44.                 this->b = b;
  45.                 this->c = c;
  46.                 float delta = (b*b) - 4 * (a * c);
  47.                 x1 = -b - sqrt(delta)/(2*a);
  48.                 x2 = -b - sqrt(delta)/(2*a);
  49.  
  50.         }
  51.        
  52.         float getA() {
  53.                 return a;
  54.                
  55.         }
  56.         float getB() {
  57.                 return b;
  58.  
  59.         }
  60.         float getC() {
  61.                 return c;
  62.  
  63.         }
  64.  
  65.         float getX1() {
  66.                 return x1;
  67.  
  68.         }
  69.         float getX2() {
  70.                 return x2;
  71.  
  72.         }
  73.         float calculate(float x) {
  74.                 float suma = (a*x*x) + (b*x) + c;
  75.                 return suma;
  76.         }
  77.         ~BinominalSolver() {
  78.                
  79.         }
  80.  
  81.  
  82. };
  83.  
  84. void zadanie1() {
  85.         VerboseOb objekt("Object 1");
  86.         objekt.saySomething();
  87. }
  88.  
  89.  
  90. void zadanie2() {
  91.         BinominalSolver b1(1.0, -5.0, 4.0); cout << "Pierwiastki rownania x*x - 5x + 4 = 0 to: " << endl; cout << "x1 = " << b1.getX1() << ", x2 = " << b1.getX2() << endl;
  92.         cout << "Wartosc wielomianu x*x - 5x + 4 dla x = 1 to: "; cout << b1.calculate(1.0) << endl; cout << "Wartosc wielomianu x*x - 5x + 4 dla x = 3 to: "; cout << b1.calculate(3.0) << endl;
  93.         BinominalSolver b2(1.0, 2.0, 1.0); cout << "Pierwiastki rownania x*x + 2x + 1 = 0 to: " << endl; cout << "x1 = " << b2.getX1() << ", x2 = " << b2.getX2() << endl;
  94.         cout << "Wartosc wielomianu x*x + 2x + 1 dla x = 1 to: "; cout << b2.calculate(1.0) << endl; cout << "Wartosc wielomianu x*x + 2x + 1 dla x = -1 to: "; cout << b2.calculate(-1.0) << endl;
  95.  
  96. }
  97.  
  98. int main()
  99. {
  100.         int numerZadania;
  101.         bool doContinue = true;
  102.  
  103.         do {
  104.                 cout << "0 - zakoncz" <<endl;
  105.                 cout << "Wybierz zadanie: ";
  106.                 cin >> numerZadania;
  107.                 switch(numerZadania) {
  108.  
  109.                 case 0:
  110.                         doContinue = false;
  111.                         break;
  112.                 case 1:
  113.                         system("cls");
  114.                         zadanie1();
  115.                         break;
  116.                 case 2:
  117.                         system("cls");
  118.                         zadanie2();
  119.                         break;
  120.  
  121.  
  122.                 default:
  123.                         cout << "Nieprawidlowy numer zadania" << endl;
  124.                        
  125.                         break;
  126.                 }
  127.         } while (doContinue == true);
  128.        
  129. }
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
  137. // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie
  138.  
  139. // Porady dotyczące rozpoczynania pracy:
  140. //   1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
  141. //   2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
  142. //   3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
  143. //   4. Użyj okna Lista błędów, aby zobaczyć błędy
  144. //   5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu
  145. //   6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln
  146.