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:
tambien encontre la funcion#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; }
Código:
pero al ingresar los datos se cae el programa.#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; }
agradecido de antemano,