Sachees

urojone

Aug 7th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. MAIN:
  2. #include <iostream>
  3. #include "stock.h"
  4.  
  5.  
  6.  
  7. int main()
  8. {
  9. complex a(3.0, 4.0);
  10. complex c;
  11. std::cout << "Podaj liczbe zespolona(k, aby zakonczyc):\n";
  12. while(std::cin >> c)
  13. {
  14. std::cout << "c to " << c << "\n";
  15. std::cout << "sprzezona z c to " << ~c << "\n";
  16. std::cout << "a to " << a << "\n";
  17. std::cout << "a + c to " << a + c << "\n";
  18. std::cout << "a - c to " << a - c << "\n";
  19. std::cout << "a * c to " << a * c << "\n";
  20. std::cout << "2 * c to " << 2 * c << "\n";
  21. std::cout << "Podaj liczbe zespolona(k, aby zakonczyc):\n";
  22. }
  23. std::cout << "Gotowe!";
  24. return 0;
  25. }
  26.  
  27. STOCK.H:
  28. #ifndef STOCK00_H_
  29. #define STOCK00_H_
  30.  
  31.  
  32. class complex
  33. {
  34. private:
  35. double real;
  36. double imaginary;
  37. public:
  38. complex(double iReal, double iImag);
  39. complex();
  40. ~complex();
  41. complex operator+(complex cp);
  42. complex operator-(complex cp);
  43. complex operator*(complex cp);
  44. complex operator~();
  45. friend complex operator*(double x, complex cp);
  46. friend std::istream & operator>>(std::istream & is, complex & st);
  47. friend std::ostream & operator<<(std::ostream & os, const complex & st);
  48. };
  49.  
  50. #endif // STOCK00_H_
  51.  
  52. STOCK.CPP:
  53. #include <iostream>
  54. #include "stock.h"
  55.  
  56. complex::complex(double iReal, double iImag)
  57. {
  58. real = iReal;
  59. imaginary = iImag;
  60. }
  61. complex::complex()
  62. {
  63. real = 0;
  64. imaginary = 0;
  65. }
  66. complex::~complex()
  67. {
  68. }
  69. complex complex::operator+(complex cp)
  70. {
  71. complex now(real + cp.real, imaginary + cp.imaginary);
  72. return now;
  73. }
  74. complex complex::operator-(complex cp)
  75. {
  76. complex now(real - cp.real, imaginary - cp.imaginary);
  77. return now;
  78. }
  79. complex complex::operator*(complex cp)
  80. {
  81. complex now(real * cp.real - imaginary * cp.imaginary, real * cp.imaginary + cp.real * imaginary);
  82. return now;
  83. }
  84. complex complex::operator~()
  85. {
  86. complex now(real, -imaginary);
  87. return now;
  88. }
  89. complex operator*(double x, complex cp)
  90. {
  91. cp.real = cp.real * x;
  92. cp.imaginary = cp.imaginary * x;
  93. return cp;
  94. }
  95. std::istream & operator>>(std::istream & is, complex & cp)
  96. {
  97. std::cout << "skladowa rzeczywista: ";
  98. if(!(is >> cp.real))
  99. return is;
  100. std:: cout << "skladowa urojona: ";
  101. is >> cp.imaginary;
  102. return is;
  103. }
  104. std::ostream & operator<<(std::ostream & os, const complex & cp)
  105. {
  106. os << "(" << cp.real << ", " << cp.imaginary << "i)";
  107. return os;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment