#include<conio.h>
#include<stdio.h>
struct frac{
       int num;
       int den;
       int ent;
       }num,res;
void fra_mix (void);
void mix_fra (void);
int main (void)
{
     unsigned char op;
     printf("Elige una opcion del menu\n");
     printf("1  --  Convertir un numero mixto a una fraccion\n");
     printf("2  --  Convertir una fraccion a un numero mixto\n");
     op=getch();
     if(op==49)
         mix_fra();
     else
         if(op==50)
             fra_mix();
         else
             printf("Opcion no valida\n");
     printf("Oprime una tecla para terminar...\n");
     getch();
     return 0;
}

void fra_mix (void)
{
     printf("Ingresa la fraccion a convertir\nIngresa primero el numerador y despues el denominador\n");
     scanf("%d %d",&num.num,&num.den);
     res=num;
     res.ent=0;
     while(res.num>=res.den)
     {
         res.num=res.num-res.den;
         res.ent+=1;
     }
     if(num.num<num.den)
         printf("%d/%d no se puede transformar en un numero mixto\n");
     else
         printf("%d/%d  =  %d %d/%d\n",num.num,num.den,res.ent,res.num,res.den);
}

void mix_fra (void)
{
     printf("Ingresa el numero mixto a convertir\nIngresa el numero entero, despues el numerador y el denominador\n");
     scanf("%d %d %d",&num.ent,&num.num,&num.den);
     res.den=num.den;
     res.num=(num.ent*num.den)+num.num;
     printf("%d %d/%d  =  %d/%d\n",num.ent,num.num,num.den,res.num,res.den);     
}
     
             
