/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Función trunc

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
m@o_614



Registrado: 13 Dic 2011
Mensajes: 19

MensajePublicado: 05/02/2012 9:53 am
Título: Función trunc

Tengo un programa al compilar mi programa que me pide que ingrese un dato y despues me tiene que regresar si es un int, float o char. Usando la función trunc, pero cuando le doy un caracter me marca un error

[code]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//Este programa muestra los valores de los tipos de datos//

int main()
{
float dato;
printf("Dame un dato\n");
scanf("%f",&dato);
if(trunc(dato)-dato==0)
printf("Es un tipo de dato int\nCon un rango de -32,768 a 32,767\n");
else
if(trunc(dato)-dato!=0)
printf("Es un tipo de dato float\nCon un rango de 3.4 E-38 a 3.4 E+38\n");
else
printf("Es un tipo de dato char\nCon un rango de -128 a 127\n");

return 0;
}
[/code]
Volver arriba
polly



Registrado: 19 Jul 2007
Mensajes: 602

MensajePublicado: 06/02/2012 7:09 am
Título:

¿Qué error? 'trunc' es para datos de tipo 'double y tú estás usando floats.
_________________
@enrmarc
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 6586
Ubicación: Mexico

MensajePublicado: 15/02/2012 9:14 am
Título:

No puedes utilizar la función scanf para ese propósito ya que si la entrada es 'J' no hay conversión y el valor de la variable "dato" se mantiene como no definido o "basura".

Para realizar esa operación primero debes verificar si es la representación valida de un entero utilizando "strtol" (prototipo en <stdlib.h>), continuas con la verificación caso de un numero de punto flotante utilizando "strtod" (prototipo en el mismo encabezado) y caso contrario asumes que es un carácter.

Un saludo
_________________
Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short.
--
Mentat Handbook
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com