| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
nikoven
Registrado: 10 Oct 2004 Mensajes: 10
| Publicado: 11/10/2004 7:45 pm | | | Título: Duda para perfeccionar un algoritmo T.T |
| Hola a todos, soy nuevo aqui, mi novia kykyou me recomendo esta pagina ^^ dijo que era muy buena y muy amables para poder resolver las consultas, asi que les pregunto mi duda, la cual es, tengo un algoritmo hecho para calcular factoriales, el cual lo realize yo con if anidados, ahora bien lo que quiero hacer ahora es que me valide ademas el numero ingresado es entero o no, el problema es que no se como se hace. Pense en el main agregarle un do-while ( n =! float ) pero no pasa nada ... pueden ayudarme?? ahi les dejo mi programa =)
| Código: | #include "stdio.h" #include "conio.h"
long int f(long int);
void main() { long int n, r; clrscr(); printf("Ingrese el valor de n: \n"); scanf("%ld", &n); if(n>0) { r = f(n); printf("\n El resultado es %ld ", r); getch(); } else { if(n==0) { printf("\El resultado es 1"); getch(); } else { printf("\nEl resultado no existe"); getch(); } } }
long int f(long int n) { long int a,b=1.0; for(a=n;a>1; a--) { b=b*a; } return(b); }
|
De antemano muchisimas gracias!! |
| | Volver arriba | |  | alp

Registrado: 12 Abr 2004 Mensajes: 413
| Publicado: 12/10/2004 2:48 am | | | Título: |
| Hola. La función scanf() ya te resuelve el problema. Al hacer scanf("%ld", &n); , la función ya te devuelve un valor entero.
Si estuvieras utilizando un valor float o double y quieres saber si tiene decimales, puedes utilizar la función floor() definida en <math.h>
| Código: | double valor; ... if (valor - floor(valor) == 0) printf("Es un número sin decimales"); ... |
Un saludo. |
| | Volver arriba | |  | nikoven
Registrado: 10 Oct 2004 Mensajes: 10
| Publicado: 14/10/2004 6:56 pm | | | Título: |
| Ok gracias, voy a tratar de probarlo... en todo caso nunca habia visto ese comando  lo unico que queria era que si el usuario 'x' ingresaba un numero decimal el programa dijiera "noooooo!!! esta incorrecto solo numeros enteros!!! "  algo asi =P
Saludos!! |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |