Autor
|
Tema: Detectar ENTER pero como tipo entero y no Char (Leído 3,046 veces)
|
Detectorup
Desconectado
Mensajes: 2
|
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
Mensajes: 1.603
|
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
Mensajes: 2
|
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
|
No leas como int Lee un string siempre, conviertelo a int después usando atoi() o similar.
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
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). retorno = scanf("%d", &edad ); if(retorno == 0) { puts("El dato introducido no es un entero"); return -1; } printf("Tu edad es de %d\n", edad );
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[C] pasar un entero a char*
Programación C/C++
|
KandiZickZad
|
1
|
6,010
|
2 Mayo 2011, 08:01 am
por leogtz
|
|
|
Pasar tipo const char* a char
« 1 2 »
Programación C/C++
|
jorge_hura
|
15
|
11,360
|
25 Julio 2013, 09:50 am
por Eternal Idol
|
|
|
Castear un entero a un char en C++
Programación C/C++
|
gibranini
|
2
|
2,763
|
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
|
3,078
|
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
|
3,091
|
3 Abril 2017, 14:35 pm
por MAFUS
|
|