Tue. Mar 19th, 2024

Overloaded fractions

HEADER FILE

class Fractie 
{
public:
int numarator,numitor;
public:
Fractie(int numarator=0,int numitor=1);
Fractie Suma(Fractie,Fractie);
Fractie Diferenta(Fractie, Fractie);
Fractie Produs(Fractie, Fractie);
Fractie Raport(Fractie, Fractie);
void citire();
void afisare();
};

SOURCE CPP

 include <iostream>
include <stdio.h>
include "fractie.h"
using namespace std;
void Fractie::citire()
{
cout<<"Dati numarator:"; cin>>numarator;
cout<<"Dati numitor:"; cin>>numitor;
}
Fractie::Fractie(int numarator,int numitor)
{
this->numarator = numarator;
this->numitor = numitor;
}
Fractie Fractie::Suma(Fractie f1,Fractie f2)
{
if(f1.numitor == f2.numitor)
{
numarator=f1.numarator + f2.numarator;
numitor = f1.numitor;
return 1;
}
else
{
numarator=f1.numarator * f2.numitor + f1.numitor * f2.numarator;
numitor = f1.numitor * f2.numitor;
return 1;
}
}
Fractie Fractie::Diferenta(Fractie f1,Fractie f2)
{
if(f1.numitor == f2.numitor)
{
numarator=f1.numarator - f2.numarator;
numitor = f1.numitor;
return 1;
}
else
{
numarator=f1.numarator * f2.numitor - f1.numitor * f2.numarator;
numitor = f1.numitor * f2.numitor;
return 1;
}
}
Fractie Fractie::Produs(Fractie f1,Fractie f2)
{
numarator = f1.numarator * f2.numarator;
numitor = f1.numitor * f2.numitor;
return 1;
}
Fractie Fractie::Raport(Fractie f1,Fractie f2)
{
numarator=f1.numarator * f2.numitor;
numitor = f1.numitor * f2.numarator;
return 1;
}
void Fractie::afisare()
{
cout<<numarator<<"/"<<numitor<<endl;
}

CALL

 include <iostream> 
include <stdio.h>
include "fractie.h"
using namespace std;
void main()
{
Fractie f1,f2,f3,f4;
f1.citire();
f2.citire();
f3.Suma(f1,f2);
cout << "suma=";
f3.afisare();
f3.Diferenta(f1,f2);
cout << "diferenta=";
f3.afisare();
f3.Produs(f1,f2);
cout << "produs=";
f3.afisare();
f3.Raport(f1,f2);
cout << "Raport=";
f3.afisare();
}

1,235 total views, 1 views today