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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO  (Leído 7,745 veces)
hctr12

Desconectado Desconectado

Mensajes: 6


Ver Perfil
[AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« en: 9 Julio 2014, 06:35 am »

Buenas, tengo una consulta como puedo validar sólo números en mi trabajo.

Lo que quiero saber si hay opciones en las librerias que uso para lograrlo ya que en internet encuentro muchas formas pero no las entiendo, porque usan otras librerias y me desviaré mucho de lo que me piden.

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"

Código:
do
{
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
scanf("%d",&M); //
if(M == 1) //
{
printf("\n\n");
goto menu; //
}
else if(M == 0)
{
return 0;  
}
}while (M<0 || M>1);

Sólo he logrado usar el bucle while para que no usen números fuera de las opciones, pero aún tengo el problema con las letras.

Saludos


« Última modificación: 9 Julio 2014, 06:44 am por hctr12 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #1 en: 9 Julio 2014, 06:45 am »

leelo como char y resolvería tu problema... el código solo tienes que modificar el tipo de variable de scanf a %c y M a char (con sus respectivas comparaciones)


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
hctr12

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #2 en: 9 Julio 2014, 06:51 am »

Entonces
Código:
char M;

do
{
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
scanf("%c",&M); //
if(M == 1) //
{
printf("\n\n");
goto menu; //
}
else if(M == 0)
{
return 0; 
}
}while (M<0 || M>1);


¿Cómo plantearías las comparaciones? Quiero validar sólo numeros para las opciones :( . Y me pierdo un poco
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #3 en: 9 Julio 2014, 06:56 am »

las comparaciones son iguales pero en comillas simples es decir

Código:
M == '1'

el char es visualmente interpretado como letra, pero el codigo lo entiende como numero (es basicamente lo que quiere decir que séa ascii) al ser interpretado como numero, las validaciones se hacen igual, para estos casos es lo más simple... por si a las dudas, busca la tabla ascii, ahí están representados
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
hctr12

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #4 en: 9 Julio 2014, 07:47 am »

Claro, cuando las reemplazo como dices llega a identificarse pero me imprime dos veces

Código:
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #5 en: 9 Julio 2014, 07:50 am »

pasa tu sección código actual
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
hctr12

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #6 en: 9 Julio 2014, 07:55 am »

Es todo el codigo de mi trabajo, hasta ahora.

Lo llevo haciendo en Visual Express c++


Código:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"

int main()
{
menu:
int OP;
char M; // VARIABLES DE MENU
int N,A,SN,MN=1; //VARIABLES DE LA FUNCION 1
int primero = 1, segundo = 0, tercero = 1, i=0, cant; // VARIABLES DE LA FUNCION 2

// INICIO DE LA FUNCION MENU-----------------------------------------------------------------------------------------------
do
{
printf("-------------------------------------------------------------------------------\n\n");
printf("\t\t\t\tMenu");
printf("\n\n");
printf("\t1. Suma de los cuadrados de los impares.\n\n");
printf("\t2. Mostrar la serie de Fibonacci.\n\n");
printf("\t3. Mover un movil.\n\n");
printf("\t4. Terminar.\n\n");
printf("\n\n");
printf("-------------------------------------------------------------------------------\n\n\t");
printf("Elija la funcion, segun su numero de orden: ");
scanf("%d",&OP);
printf("\n\n");

}
while (OP<1 || OP>4); //OP>=1 && OP<=4);
// FIN DE LA FUNCION MENU-----------------------------------------------------------------------------------------------



// INICIO DE LA FUNCION 1-----------------------------------------------------------------------------------------------
if (OP==1) //CONDICION PARA QUE DIRECCIONE A LA PRIMERA FUNCION
{

printf("\tIngrese la cantidad N de numeros impares ,al cuadrado, a sumar: ");
scanf("%d",&N); // scanf LEE EL ENTERO QUE SE INGRESARA EN LA VARIABLE N
printf("\n");
SN=(((N*2)+1)*(N*2)*((N*2)-1))/6;  // OPERACION PARA ENCONTRAR LA SUMA DE "N" NUMEROS IMPARES AL CUADRADO
printf("\tLa suma de los N numeros, impares al cuadrado es: %d",SN); // IMPRIME EL RESULTADO DE LA FORMULA

//*********************************************************************************************
do
{
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
scanf("%c",&M); //
if(M == '1') //
{
printf("\n\n");
goto menu; //
}
else if(M == '0')
{
return 0;  
}
}while (M=='0' || M=='1');


}
_getch();
return 0;
}
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #7 en: 9 Julio 2014, 07:58 am »

claro! mira la condicion del while! :s por qué la cambiaste?

tenias
Código:
(M<0 || M>1);
y ahora tienes
Código:
while (M=='0' || M=='1');

fijete que las condiciones son casi opuestas, porque en la original no podían ser 1 ni 0, ahora deben ser 0 y 1... deja las originales


---pd----

no uses conio.h está contra-recomendado... tampoco goto... para eso hay librerías standard y funciones
« Última modificación: 9 Julio 2014, 08:00 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
hctr12

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #8 en: 9 Julio 2014, 08:01 am »

Claro, estaba intentando otras opciones pero cuando regreso a
Código:
while (M<0 || M>1);

Me imprime dos veces
Código:
RETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR:
RETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ____ y recién para ingresar el valor y si el valor no es ni 1 ni 0, vuelve a imprimirse dos veces más y así...pero la validación si está correcta solo faltaría anular una impresión

PD1: EL CONIO NO LO PUEDO SACAR, POR EL _getch(); eso ya es capricho de mi docente.
PD2: QUÉ FUNCION PUEDE REEMPLAZAR A GOTO ?
« Última modificación: 9 Julio 2014, 08:05 am por hctr12 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [AYUDA]C++ / VALIDAR SOLO NUMEROS SEGUN MI TRABAJO
« Respuesta #9 en: 9 Julio 2014, 08:04 am »

sorry... copie y pegué el codigo... lo tienes como deberia ser?

Código:
while (M<'0' || M>'1');
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como validar usuarios segun tipo??
Programación Visual Basic
byway 6 4,748 Último mensaje 16 Abril 2009, 19:34 pm
por Angeldj27
como validar jtxtbox para que acepte solo números!
Java
washington8277 7 6,836 Último mensaje 29 Octubre 2012, 15:33 pm
por ChavalChavito
validar numeros
Programación C/C++
m@o_614 1 2,420 Último mensaje 5 Abril 2014, 02:54 am
por do-while
Validar solo números en un INT en C++
Programación C/C++
RGT 1 6,265 Último mensaje 5 Noviembre 2015, 12:31 pm
por class_OpenGL
SOLO VALIDAR ENTRADA DE NUMEROS
Programación C/C++
WarrirorPT3 1 2,099 Último mensaje 15 Abril 2019, 23:28 pm
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines