Autor
|
Tema: funcion para saber si es numero (Leído 4,862 veces)
|
Geek7
Desconectado
Mensajes: 57
Be Free!
|
quiero verificar si lo ingresado es un numero (o no es una cadena alfabetica). intente esto pero no me funciona: #include <iostream> #include <cctype> using namespace std; int main () { do { cout << "Cual es tu edad?" << endl; cin >> edad; } while(isalpha(edad)); return 0; }
|
|
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
Nunca la use pero creo que debes declarar edad del tipo char
Saludos...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
En la tabla ASCII los números van desde 48 hasta 57. Por lo tanto si haces: #include <iostream> using namespace std; int main() { char a = 48; cout << a << endl; cin.get(); return 0; }
Te mostrará por pantalla el número 0. Como ya sabes en que valor empieza y en que valor termina, puedes jugar con if(). Saludos
|
|
« Última modificación: 31 Agosto 2010, 16:05 pm por Horricreu »
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
seh pero el problema esta en los numero de varios digitos, debe verificar varias cosas... Pa eso esta la funcion... aunque yo ni idea del funcionamiento interno de esa funcion...
Saludos...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
seh pero el problema esta en los numero de varios digitos, debe verificar varias cosas... Pa eso esta la funcion... aunque yo ni idea del funcionamiento interno de esa funcion...
Saludos...
Sí, es verdad. Referente a la función isalpha(), los parámetros son un char y un locale y, la función es de la libraría locale. Te he puesto el enlace de la función en C++, ya que veo que estás programando en él. Saludos
|
|
« Última modificación: 26 Agosto 2010, 00:30 am por Horricreu »
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
Segun lo que vi, en el prototipo espera es un entero, pero pes no se como funciona por alla adentro int isalpha ( int c );
http://www.cplusplus.com/reference/clibrary/cctype/isalpha/Saludos...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
Vuelvo a rectificar. La función para C++ se pasan un char y un locale. isalpha(). Saludos EDITO: he escrito lo mismo en el comentario anterior.
|
|
« Última modificación: 26 Agosto 2010, 00:29 am por Horricreu »
|
En línea
|
|
|
|
rob1104
Desconectado
Mensajes: 340
Usuario común
|
Hola, yo haria algo asi: #include <iostream> #include <cctype> using namespace std; bool esCaracter(char *edad); int main() { char edad[2]; do { cout << "Cual es tu edad?:" <<endl; cin >> edad; }while(esCaracter(edad)); } bool esCaracter(char *edad) { int i = 0; while(edad[i]) { if(isalpha(edad[i])) return true; i++; } return false; }
Igual se puede optimizar más, pero es la idea. Saludos Saludos
|
|
« Última modificación: 29 Julio 2010, 23:33 pm por rob1104 »
|
En línea
|
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas! Si lo que quieres es saber si es un numero, lee en una cadena el valor que llega desde teclado y con la funcion isdigit
podras saber si cada uno de los caracteres de la cadena es un digito. Luego puedes utilizar la funcion de conversion que quieras para pasar la cadena al tipo de dato que quieras... ¡Saludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ayuda] Función o Api, para saber el nombre de mi aplicación
Programación C/C++
|
estebanvr
|
3
|
2,940
|
10 Noviembre 2011, 23:42 pm
por RyogiShiki
|
|
|
Modificando programa saber si se ejecuto una funcion
Ingeniería Inversa
|
x64core
|
6
|
3,542
|
21 Octubre 2012, 17:27 pm
por .:UND3R:.
|
|
|
Algoritmo o código en java para saber las posiciones que ocupa un numero
Programación General
|
sonic94
|
3
|
3,916
|
20 Mayo 2014, 21:12 pm
por HackID1
|
|
|
Función cota de número potencia de dos
Programación C/C++
|
ferchundo9
|
3
|
2,133
|
10 Mayo 2017, 00:49 am
por MAFUS
|
|
|
Messenger estaría probando nueva función para saber si chateas con una cuenta...
Noticias
|
wolfbcn
|
0
|
928
|
15 Julio 2018, 21:32 pm
por wolfbcn
|
|