#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
///seyed mehdi mousavi///
///piyade sazie jame-zarb-tafrigh-taghsim baraye kelas adaad kasri///
class dev{
	private:
		int x;
		int y;
	public:
		void input();
		void print();
		dev add(dev); //jaam
		dev sub(dev); //menha
		dev moltiply(dev);//zarb
		dev devide(dev);//taghsim
};
//////////////tabe input/////////////
void dev::input(){
cout<<"plase insert number:";
cin>>x;
cin>>y;
}
////////////////////tabe print/////////
void dev::print(){
cout<<"\n"<<x<<"\n---\n"<<y;
}
////////////////tabe add/////////////
dev dev::add(dev p3){
dev p4;
int a=y,b=p3.y,c=0;
if (y==p3.y){
p4.x=x + p3.x;
p4.y=p3.y;}//end if
else{
       while (b>0){
	c=b;
	b=a%b;
	a=c;
	    }
    p4.y= y * p3.y/a;
    p4.x=(p4.y/p3.y*p3.x)+(p4.y/y*x);}//end else
    return p4;
}//end tabe
/////////////tabe sub///////////
dev dev::sub(dev p3){
dev p4;
int a=y,b=p3.y,c=0;
if (y==p3.y){
p4.x=x - p3.x;
p4.y=p3.y;}//end if
else{
       while (b>0){
	c=b;
	b=a%b;
	a=c;
	    }
    p4.y= y * p3.y/a;
    p4.x=(p4.y/p3.y*p3.x)-(p4.y/y*x);}//end else
    return p4;
}//end tabe
////////////////tabe moltiply////////////////
dev dev::moltiply(dev p3){
dev p4;
p4.x=x * p3.x;
p4.y=y * p3.y;
return p4;
}
//////////////////tabe devide//////////
dev dev::devide(dev p3){
dev p4;
p4.x=x * p3.y;
p4.y=y * p3.x;
return p4;
}
//////////////main//////////////
void main(){
clrscr();
int x;
dev p1,p2,p3;
p1.input();
p2.input();
p1.print();
p2.print();

for(;;){
cout<<"\nmenu 1=add"<<"\n";
cout<<"menu 2=sub"<<"\n";
cout<<"menu 3=moltiply"<<"\n";
cout<<"menu 4=devide"<<"\n";
cout<<"menu 5=exit"<<"\n";
cin>>x;
switch (x){

	case 1:
		p3=p1.add(p2);
		p3.print();
		break;
	case 2:
		p3=p1.sub(p2);
		p3.print();
		break;
	case 3:
		p3=p1.moltiply(p2);
		p3.print();
		break;
	case 4:
		p3=p1.devide(p2);
		p3.print();
		break;
	case 5:
		exit(1);
	}//end switch
}//end for
getch();
}



