Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MAIN:
- #include <iostream>
- #include "stock.h"
- int main()
- {
- complex a(3.0, 4.0);
- complex c;
- std::cout << "Podaj liczbe zespolona(k, aby zakonczyc):\n";
- while(std::cin >> c)
- {
- std::cout << "c to " << c << "\n";
- std::cout << "sprzezona z c to " << ~c << "\n";
- std::cout << "a to " << a << "\n";
- std::cout << "a + c to " << a + c << "\n";
- std::cout << "a - c to " << a - c << "\n";
- std::cout << "a * c to " << a * c << "\n";
- std::cout << "2 * c to " << 2 * c << "\n";
- std::cout << "Podaj liczbe zespolona(k, aby zakonczyc):\n";
- }
- std::cout << "Gotowe!";
- return 0;
- }
- STOCK.H:
- #ifndef STOCK00_H_
- #define STOCK00_H_
- class complex
- {
- private:
- double real;
- double imaginary;
- public:
- complex(double iReal, double iImag);
- complex();
- ~complex();
- complex operator+(complex cp);
- complex operator-(complex cp);
- complex operator*(complex cp);
- complex operator~();
- friend complex operator*(double x, complex cp);
- friend std::istream & operator>>(std::istream & is, complex & st);
- friend std::ostream & operator<<(std::ostream & os, const complex & st);
- };
- #endif // STOCK00_H_
- STOCK.CPP:
- #include <iostream>
- #include "stock.h"
- complex::complex(double iReal, double iImag)
- {
- real = iReal;
- imaginary = iImag;
- }
- complex::complex()
- {
- real = 0;
- imaginary = 0;
- }
- complex::~complex()
- {
- }
- complex complex::operator+(complex cp)
- {
- complex now(real + cp.real, imaginary + cp.imaginary);
- return now;
- }
- complex complex::operator-(complex cp)
- {
- complex now(real - cp.real, imaginary - cp.imaginary);
- return now;
- }
- complex complex::operator*(complex cp)
- {
- complex now(real * cp.real - imaginary * cp.imaginary, real * cp.imaginary + cp.real * imaginary);
- return now;
- }
- complex complex::operator~()
- {
- complex now(real, -imaginary);
- return now;
- }
- complex operator*(double x, complex cp)
- {
- cp.real = cp.real * x;
- cp.imaginary = cp.imaginary * x;
- return cp;
- }
- std::istream & operator>>(std::istream & is, complex & cp)
- {
- std::cout << "skladowa rzeczywista: ";
- if(!(is >> cp.real))
- return is;
- std:: cout << "skladowa urojona: ";
- is >> cp.imaginary;
- return is;
- }
- std::ostream & operator<<(std::ostream & os, const complex & cp)
- {
- os << "(" << cp.real << ", " << cp.imaginary << "i)";
- return os;
- }
Advertisement
Add Comment
Please, Sign In to add comment