All pastes #2090901 Raw Edit

Something

public text v1 · immutable
#2090901 ·published 2011-10-17 20:56 UTC
rendered paste body
#include<iostream>
#include<cmath>
using namespace std;

class zesp{
  double rzeczywista, urojona;
public:
  zesp(double re=0.0, double im=0.0): rzeczywista(re), urojona(im)
              {}
  double modul(){
              return (sqrt(rzeczywista*rzeczywista+urojona*urojona));
  }
  friend zesp operator+(const zesp&, const zesp&); // funkcja pozw. dostac sie do priv z zewnatrz
  friend ostream& operator<<(ostream&, const zesp&); // funkcja pozw. dostac sie do priv z zewnatrz
};

//FUNKCJE
zesp operator+ (const zesp& a, const zesp& b) { //funkcja przeladowania "+"
	double r, i;
	r = a.rzeczywista + b.rzeczywista;
	i = a.urojona + b.urojona;
	return zesp(r, i);
}
ostream& operator<<(ostream& out, const zesp &a) { //funkcja przeladowania "<<"
	out << "(" << a.rzeczywista << ", " << a.urojona << ")" << endl;
	return out;
}


int main(){

  double re1, im1, re2, im2;
  cout << "Podaj czesc rzeczywista 1. liczby:";
  cin >> re1;
  cout << "Podaj czesc urojona 1. liczby:";
  cin >> im1;
  cout << "Podaj czesc rzeczywista 2. liczby:";
  cin >> re2;
  cout << "Podaj czesc urojona 2. liczby:";
  cin >> im2;
  zesp liczba1(re1,im1);
  zesp liczba2(re2,im2);
  cout << "Modul 1. liczby jest rowny: " << liczba1.modul() << endl;
  cout << "Modul 2. liczby jest rowny: " << liczba2.modul() << endl;
 
//przeladowanie
zesp suma = liczba1+liczba2;
	cout << suma << endl;


    system("PAUSE");
    return EXIT_SUCCESS;
}