operaciones aritméticas básicas con fracciones
#code>
#include <iostream>
class Fraccion {
public:
Fraccion(int num, int den) : numerador_(num), denominador_(den) {}
void mostrar() {
std::cout << numerador_ << "/" << denominador_ << std::endl;
}
Fraccion operator+(const Fraccion& otra) {
int num = numerador_ * otra.denominador_ + otra.numerador_ * denominador_;
int den = denominador_ * otra.denominador_;
return Fraccion(num, den);
}
Fraccion operator-(const Fraccion& otra) {
int num = numerador_ * otra.denominador_ - otra.numerador_ * denominador_;
int den = denominador_ * otra.denominador_;
return Fraccion(num, den);
}
Fraccion operator*(const Fraccion& otra) {
int num = numerador_ * otra.numerador_;
int den = denominador_ * otra.denominador_;
return Fraccion(num, den);
}
Fraccion operator/(const Fraccion& otra) {
int num = numerador_ * otra.denominador_;
int den = denominador_ * otra.numerador_;
return Fraccion(num, den);
}
private:
int numerador_;
int denominador_;
};
int main() {
Fraccion* fraccion1 = new Fraccion(1, 2);
Fraccion* fraccion2 = new Fraccion(3, 4);
std::cout << "Fracción 1: ";
fraccion1->mostrar();
std::cout << "Fracción 2: ";
fraccion2->mostrar();
Fraccion suma = *fraccion1 + *fraccion2;
std::cout << "Suma: ";
suma.mostrar();
Fraccion resta = *fraccion1 - *fraccion2;
std::cout << "Resta: ";
resta.mostrar();
Fraccion producto = *fraccion1 * *fraccion2;
std::cout << "Producto: ";
producto.mostrar();
Fraccion division = *fraccion1 / *fraccion2;
std::cout << "División: ";
division.mostrar();
delete fraccion1;
delete fraccion2;
return 0;
}