elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Detectar ENTER pero como tipo entero y no Char
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Detectar ENTER pero como tipo entero y no Char  (Leído 2,445 veces)
Detectorup

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Detectar ENTER pero como tipo entero y no Char
« en: 18 Diciembre 2018, 10:08 am »

DEseo que al ingresar un numero edad, me detecte si pulse ENTER como numero entero para salir del programa
yo se que ENTER = '\n' pero se compara con variables tipo char y lo que yo uso es variable entera .

Como haria
ya proble con scanf, getchar(), fgets() todos tratan a ENTER como char , pero no puedo usarlo ya uqe usare desigualdades con
numeros enteros al ingresar el numero edad



#include <stdio.h>
#include <math.h>
#include <conio.h>

int main()
{

int edad;
printf("INGRESAR TU EDAD (entero mayor que cero) : \n");
scanf("%d",&edad);
fflush(stdin);

if ( edad<18)
printf("No puedes votar eres menor de edad\n");
else if ( edad >=18)
printf(" Si puedes Votar , eres mayor de edad 18\n");
else ( edad = '\n')
printf(" Pulsaste ENTER , saliendo ..\n");
system("pause");
return 0;
}


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Detectar ENTER pero como tipo entero y no Char
« Respuesta #1 en: 18 Diciembre 2018, 10:28 am »

Los carácter es, internamente, son valores enteros. Por ejemplo: el '\n' es un 10 en decimal.
A menos que quieras excluir todas las edades de 10 años deberás encontrar otra forma de hacerlo.

La tabla ASCII te indicará el valor de cada carácter.

Veo que te han enseñado C sin enseñarte cómo funciona la memoria. Una lástima porque C está muy ligado a la memoria.


En línea

Detectorup

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Detectar ENTER pero como tipo entero y no Char
« Respuesta #2 en: 18 Diciembre 2018, 10:44 am »

estoy comenzando full autodidacta con C , lo que no entiendo algo tan simple se me ha complicado.

ingresar un valor entero  y segun en que intervalo caiga   dara mensajes, pero si Ingresas ENTER debes salir del programa.  parecia simple pero con los ya conocidos getchar(), scanf, fgets(), no me sirve porque esos usan tipo char ..


En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Detectar ENTER pero como tipo entero y no Char
« Respuesta #3 en: 18 Diciembre 2018, 11:25 am »

No leas como int
 Lee un string siempre, conviertelo a int después usando atoi() o similar.
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Detectar ENTER pero como tipo entero y no Char
« Respuesta #4 en: 18 Diciembre 2018, 16:15 pm »

scanf, cómo muchas de las funciones de la librería, devuelve un valor. En este caso este valor indica cuántas conversiones correctas ha realizado.

Si a la hora de capturar un número no lo ha conseguido (ya porque había letras o has pulsado return sin dar un número) devolverá un 0 (si sólo ibas a capturar un dato).

Código
  1. retorno = scanf("%d", &edad);
  2.  
  3. if(retorno == 0) {
  4.    puts("El dato introducido no es un entero");
  5.    return -1;
  6. }
  7.  
  8. printf("Tu edad es de %d\n", edad);
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C] pasar un entero a char*
Programación C/C++
KandiZickZad 1 5,869 Último mensaje 2 Mayo 2011, 08:01 am
por leogtz
Pasar tipo const char* a char « 1 2 »
Programación C/C++
jorge_hura 15 10,642 Último mensaje 25 Julio 2013, 09:50 am
por Eternal Idol
Castear un entero a un char en C++
Programación C/C++
gibranini 2 2,560 Último mensaje 13 Octubre 2014, 06:03 am
por gibranini
como asignar valores a una variable de tipo entero en c++
Programación C/C++
mrdexter 3 2,652 Último mensaje 9 Septiembre 2016, 05:46 am
por crack81
Saltar linea al dar enter al escribir un arreglo char.
Programación C/C++
yan.exe 1 2,562 Último mensaje 3 Abril 2017, 14:35 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines