09/04/2013, 08:14
|
| | Fecha de Ingreso: diciembre-2010 Ubicación: catamarca
Mensajes: 22
Antigüedad: 13 años, 11 meses Puntos: 0 | |
Respuesta: clase racional ya encontre la solucion ...por si a alguien le sirve
Código:
// Racional.h
#ifndef RACIONAL_H
#define RACIONAL_H
#pragma once
using namespace System;
namespace Racional {
class miRacional
{
// TODO: agregar aquí los métodos de la clase.
public:
miRacional(int =1, int=1);
~miRacional();
//funciones
void suma();
void resta();
void multiplicar();
void dividir();
void ImprimirFraccion();
void ImprimirFlotante();
void reducir(int, int);
void reducida(int,int);
private:
int numerador;
int denominador;
};
}
#endif
y
Código:
// Archivo DLL principal.
//racional.cpp
#include "Racional.h"
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
using std::fixed;
#include<iomanip>
using std::setprecision;
Racional::miRacional::miRacional(int deno, int num)
{
reducir(deno, num);
}
void Racional::miRacional::reducir(int de, int nu)
{
reducida(de, nu);
}
void Racional::miRacional::reducida(int d, int n)
{
int i;
for (int i = 2; i <= 11; i++)
{
while ((d%i==0)&&(n%i==0))
{
d=d/i;
n=n/i;
}
}
denominador=d;
numerador=n;
}
void Racional::miRacional::suma()
{
int n1,d1,n2,d2;
cout<<"ingrese numerador y denominador de 1° fraccion";
cin>>n1,d1;
cout<<"ingrese numerador y denominador de 2° fraccion";
cin>>n2,d2;
numerador=((n1*d2)+(d1*n2));
denominador=(d1*d2);
}
void Racional::miRacional::resta()
{
int n1,d1,n2,d2;
cout<<"ingrese numerador y denominador de 1° fraccion";
cin>>n1,d1;
cout<<"ingrese numerador y denominador de 2° fraccion";
cin>>n2,d2;
denominador=(d1*d2);
numerador=((d2*n1)-(d1*n2));
}
void Racional::miRacional::multiplicar()
{
int n1,d1,n2,d2;
cout<<"ingrese numerador y denominador de 1° fraccion";
cin>>n1,d1;
cout<<"ingrese numerador y denominador de 2° fraccion";
cin>>n2,d2;
numerador=(n1*n2);
denominador=(d1*d2);
}
void Racional::miRacional::dividir()
{
int n1,d1,n2,d2;
cout<<"ingrese numerador y denominador de 1° fraccion";
cin>>n1,d1;
cout<<"ingrese numerador y denominador de 2° fraccion";
cin>>n2,d2;
numerador=n1*d2;
denominador=d1*n2;
}
void Racional::miRacional::ImprimirFraccion()
{
cout<<"el resultado es "<<numerador<<"/"<<denominador<<endl;
system("PAUSE");
}
void Racional::miRacional::ImprimirFlotante()
{
double a;
a=static_cast<double>(numerador)/denominador;
cout<<"el resultado de la fraccion en decimales es"<< setprecision(5)<<fixed<<a;
system("PAUSE");
}
|