Números Racionales: operaciones

Saul Juan Pérez

//Calcula la suma, el producto y la división de números racionales
//y el resultado lo escribe en un fichero.

#include <stdio.h>

typedef struct{
float num;
float den;} racional;

void leer (racional *);
void escribir (racional );
void escribirf (racional );
racional suma (racional , racional );
racional prod (racional , racional );
racional divi (racional , racional );

int main ()
{
FILE *f;
racional x,y,z,n,l;

leer(&x);
leer(&y);

z = suma (x,y);
printf("Suma\n");
escribir (z);
escribirf (z);

n=prod(x,y);
printf("\nProducto\n");
escribir(n);
escribirf (n);

l=divi(x,y);
printf("\nDivision\n");
escribir (l);
escribirf (l);

return 0;
}

void leer (racional *z)
{
printf("Dame el numerador:");
scanf("%f",&(z->num));
printf ("Dame el denominador:");
scanf ("%f",&(z->den));
return;
}

void escribir (racional z)
{
printf("El resultado es:");
printf("%.0f/%.0f",z.num,z.den);
return;
}

void escribirf (racional z)
{
FILE *f;
f=fopen("racional.txt","a");
fprintf(f,"\n%.0f/%.0f\n",z.num,z.den);
fclose(f);
return;
}

racional suma(racional x, racional y)
{
racional z;
z.num = (x.num*y.den)+(x.den*y.num);
z.den =(x.den*y.den);
return z;
}

racional prod (racional x, racional y)
{
racional z;
z.num = x.num * y.num;
z.den = x.den *y.den;
return z;
}

racional divi (racional x, racional y)
{
racional z;
z.num= (x.num*y.den);
z.den= (x.den*y.num);
return z;
}
Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s