hola a todos,
tengo que tranformar de decimal a fraccion
, y estoy trabado no se que mas hacer.
voy aqui recien (es lo que se me ocurrio), separar la parte entera de la parte decimal para luego dividir y hacer fraccion.
Código:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int main()
{
char s1[49];
char s2[2] = ".";
char *ptr;
unsigned long int uno=0, dos=NULL;
int contar=0,paso=0;
unsigned long int *a = NULL;
unsigned long int *b = NULL;
printf("Ingrese su numero : ");
gets(s1);
//-------------- separara la parte entera de la parte decimal -----------------
ptr = strtok( s1, s2 ); // Primera llamada => Primer token
if(contar == 0){
uno = atol(ptr);//asigno el valor traspasado a int
a = &uno;
contar++;
}
while( (ptr = strtok( NULL, s2 )) != NULL ) // Posteriores llamadas
{
if(contar == 1){
paso = strlen(ptr);
dos = atol(ptr);
b = &dos;
}
contar++;
}
printf("paso : %d\n",paso);
if(dos != NULL)
printf("%i - %i\n",*a,*b);
else
printf("%i\n",*a);
getchar();//pausa
//-----------------------------------------------------------------------------
return 0;
}
tambien encontre la funcion
Código:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
// FUNCION A OCUPAR MODF
int main()
{
double valor, *iptr, resultado;
printf("Ingrese el valor con decimal : ");
scanf("%f",&valor);
resultado = modf( valor, iptr );
printf( "modf( %f, %f ) = %f\n", valor, *iptr, resultado );
system("pause");
getchar();
return 0;
}
pero al ingresar los datos se cae el programa.
agradecido de antemano,