Тема: Дроби (помилка при обчисленні)
Усім привіт!
Працюю над калькулятором для дробів. 
Писав функцію під множення 2х дробів і наче все добре, тільки значення виводить дивовижні (дивіться скіншот).
Код додаю, перегляньте. Можливо, ви скажете де помилка. 
//Сама структура, яка моделюватиме дріб.
typedef struct RationalNumber{ 
    int num; //numerator 
    int den; //denominator 
}frac;
frac multiplication(frac x,frac y,frac c); //прототип функції (x , y - 2 дроби,які вводить користувач а c - результат)
//безпосередньо сама функція
frac multiplication(frac x, frac y,frac c)
{
    c.num = x.num*y.num;
    c.den = x.den*y.den;
    return c;
        
}
void main(void)
{frac x5, y5, c5;
        printf("Please,input 1st fraction\n");
        scanf("%d %d", &x5.num, &x5.den);
        printf("Please,input 2nd fraction\n");
        scanf("%d %d",&y5.num,&y5.den);
        multiplication(x5,y5,c5);
        printf("Result is : \n %d \n %d\n",c5.num,c5.den);
system("pause");
} 