#include<stdio.h>
int suma(int num1, int num2);
int calculden();
int calculnum(int num1, int num2,int resulden,int den1,int den2);
int mcd(int dividendo,int divisor);
int mcm(int dividendo,int divisor,int dividendo1);
int main()
{
int num1,num2,den1,den2,resul,resulden,resulnum;
printf("Programa que cacula el resultat de la suma de dues fracciones. n");
printf("n");
printf("n");
printf("Introdueix el numerador de la primera fraccio: n");
scanf("%d", &num1);
printf("Introdueix el denomirador de la primera fraccio: n");
scanf("%d", &den1);
printf("Ahora la segona fraccio. n");
printf("Introdueix el numerador de la segona fraccio: n");
scanf("%d", &num2);
printf("Introdueix el denominador de la segona fraccio: n");
scanf("%d", &den2);
if (den1 == den2)
{
printf("La suma de les fraccions dona com a resultat: %d/%d n", num1+num2,den1);
getchar();
getchar();
}
else
{
resulden=calculden();
resulnum=calculnum(num1,num2,resulden,den1,den2);
printf("La suma de les fracciones dona com a resultat: %d/%d n", resulnum,resulden);
getchar();
getchar();
}
}
int calculden()
{
int num,i,resulmcm,dividendo1;
int dividendo=num, divisor=num;
printf("Introduce el primer denominador: n");
scanf("%d", &num);
for (i = 1; i <= 2; i++)
{
if (num > dividendo)
{
dividendo = num;
printf("Introduce el segundo denominador: n");
scanf("%d", &num);
}
else if (num < dividendo)
{
divisor = num;
}
}
dividendo1=mcd(dividendo,divisor);
resulmcm=mcm(dividendo,divisor,dividendo1);
return resulmcm;
}
int mcd(int dividendo1, int divisor)
{
int aux;
do
{
aux = divisor;
divisor = dividendo1 % divisor;
dividendo1=aux;
}while (divisor != 0);
return dividendo1;
}
int mcm(int dividendo, int divisor, int dividendo1)
{
int resulmcm;
resulmcm=(dividendo*divisor)/dividendo1;
return resulmcm;
}
int calculnum(int num1,int num2, int resulden, int den1, int den2)
{
int sumnumtotal,sumnum1,sumnum2;
sumnum1=num1*resulden/den1;
sumnum2=num2*resulden/den2;
sumnumtotal=sumnum1+sumnum2;
return sumnumtotal;
}