All pastes #425924 Raw Edit

Something

public text v1 · immutable
·published 2007-04-05 20:08 UTC
rendered paste body
#include "stdafx.h"

#include <iostream>
using namespace std;

class real
{
	public:
	int skait, vard;

	real ();
	real (int a);
	real (int a, int b);
	
	real add(real b); 
	real sub(real b);
	real mul(real b); 
	real div(real b);

	real add(int i); 
	real sub(int i);
	real mul(int i); 
	real div(int i);

	real neg();

	bool ismore(real b);
	bool isequal(real b);

	bool ismore(int i);
	bool isequal(in i);

	void input(istream &s);
	void output(ostream &s);
};


void main()
{
	real a,b(4,5),temp;
	int d=5;
	a.input(cin);

	cout<<"Suma:"<<endl;
	temp=a.add(b);
	temp.output(cout);

	cout<<"Skirtumas:"<<endl;
	temp=a.sub(b);
	temp.output(cout);

	cout<<"Daugyba:"<<endl;
	temp=a.mul(b);
	temp.output(cout);

	cout<<"Dalyba:"<<endl;
	temp=a.div(b);
	temp.output(cout);

	cout<<"Ivestasis skaicius paverstas neigiamu:"<<endl;
	temp=a.neg();
	temp.output(cout);

	cout<<"Palyginame dvi trupmenas:"<<endl;

	if(a.ismore(b))
		cout<<"1oji trupmena didesne uz 2aja"<<endl;

	else
		cout<<"1oji trupmena mazesne uz 2aja (arba jos lygios)"<<endl;

	system("pause");
}

void real::input(istream &s)
{
	cout<<"Ivekite trupmenini skaiciu taip: x/y"<<endl;
	char sl;

	s >>skait>>sl>>vard;

}

void real::output(ostream &s)
{
	s <<skait<<"/"<<vard<<endl;
}


real real::add(real b)
{
	real tmp(skait*b.vard+b.skait*vard,vard*b.vard);
	return tmp;
}


real real::sub(real b)
{
	real tmp(skait*b.vard-b.skait*vard,vard*b.vard);
	return tmp;
}


real real::mul(real b)
{
	real tmp(skait*b.skait,vard*b.vard);
	return tmp;
}


real real::div(real b)
{
	real tmp(skait*b.vard,vard*b.skait);
	return tmp;
}

real real::add(int i)
{
	real tmp(skait+i*vard,vard);
	return tmp;
}


real real::sub(int i)
{
	real tmp(skait-i*vard,vard);
	return tmp;
}


real real::mul(int i)
{
	real tmp(skait*i,vard);
	return tmp;
}


real real::div(int i)
{
	real tmp(skait,vard*i);
	return tmp;
}

real real::neg()
{
	real tmp((-1)*skait,vard);
	return tmp;
}

bool real::ismore(real b)
{
	if((skait*b.vard) > (vard*b.skait))
	{
		return true;
	}
	return false;
}

bool real::ismore(int i)
{
	if((i*vard) > skait)
	{
		return true;
	}
	return false;
}

bool real::isequal(real b)
{
	if((skait*b.vard) == (vard*b.skait))
	{
		return true;
	}
	return false;
}

bool real::isequal(int i)
{
	if((i*vard) == skait)
	{
		return true;
	}
	return false;
}

//konstruktoriai...
real::real()
{
	skait=0; vard=1;
}
real::real(int a)
{
	skait=a;
	vard=1;
}
real::real(int a, int b)
{
	skait=a;
	vard=b;
}