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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  tengo un problema con este programa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: tengo un problema con este programa.  (Leído 4,192 veces)
Danyel_Casvill

Desconectado Desconectado

Mensajes: 113


adada


Ver Perfil
tengo un problema con este programa.
« en: 9 Noviembre 2010, 23:10 pm »

#include <iostream.h>
#include <conio.h>
int main()
{
 int n;
 cout<<"ingrese el numero: ";
 cin>>n;
 if (n < 100)
 {
  cout<<"el numero es menor que 100";
 }
 else if (n > 100)
 {
  cout<<"el numero es mayor que 100";
 }
 else if (n == 100)
 {
  cout<<"el numero es igual a 100";
 }
 else
 {
  cout<<"error, el numero ingresado es invalido";
 }
 getch();
}

Hola, el problema es que aun no se utilizar muy bien que digamos las sentencias if, else y else if, enteonces, lo que creo mal quedo, fue la sentencia else, pues cuando ingreso alguna letra, el programa dice que el numero ingresado es mayor que 100, cuando deberia decir: error, el numero ingresado es invalido.

Gracias por sus respuestas, bye.


En línea

adada
xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: tengo un problema con este programa.
« Respuesta #1 en: 9 Noviembre 2010, 23:29 pm »

Para empezar, usa el resaltado de sintaxis [code=cpp][/code].

Veamos, si tu creas una variable int contendrá valores enteros.

Si ingresas una letra, va a ser convertida a su valor numérico (en este caso ASCII).

Por ejemplo, si ingresas a la variable contendrá 97.


Luego, conio.h no es estándar, no la uses, y menos para hacer una "pausa" innecesaria.

Y cambia:
Código
  1. #include <iostream.h>
  2.  

Por:
Código
  1. #include <iostream>
  2.  


Saludos!


« Última modificación: 9 Noviembre 2010, 23:32 pm por pablomi » En línea

Danyel_Casvill

Desconectado Desconectado

Mensajes: 113


adada


Ver Perfil
Re: tengo un problema con este programa.
« Respuesta #2 en: 10 Noviembre 2010, 00:21 am »

mmmm, ya, entonces debo usar float??  si es asi, el problema sigue, solo que ahora dice que el numero es menor que 100, y pues gracias, no era necesario poner .h (apenas me vengo a dar cuenta XDDD).

respecto a lo de la "pausa", entonces que debo utilizar para la pausa??
por que si no lo utilizo, simplemente no alcanzo a ver el resultado. 

Gracias, bye.
En línea

adada
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: tengo un problema con este programa.
« Respuesta #3 en: 10 Noviembre 2010, 01:54 am »

Yo no se mucho de este tema, estoy aprendiendo apenas a progrmar en c++ pero creo que lo que te dijo fue que la variable de texto tiene un equivalente en codigo ascii y lo que introduscas es interpretado como tal como numeros, ahora abria que buscar una funcion que solo agarre numeros, no estoy muy seguro pero creo que con scanf, vamos a esperar que u guru nos diga si es asi o no.

mas o menso digo asi

scanf ("%d", &n);
« Última modificación: 10 Noviembre 2010, 02:28 am por bomba1990 » En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: tengo un problema con este programa.
« Respuesta #4 en: 10 Noviembre 2010, 02:06 am »

Código:
#include <iostream>
using namespace std;
int main()
{
 int n;
 cout<<"ingrese el numero: ";
 cin>>n;
 if (n < 100)
 {
  cout<<"el numero es menor que 100 \n";
 }
 else if (n > 100)
 {
  cout<<"el numero es mayor que 100 \n";
 }
 else if (n == 100)
 {
  cout<<"el numero es igual a 100 \n";
 }
 else
 {
  cout<<"error, el numero ingresado es invalido";
 }
system ("PAUSE");
return 0;
}
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Danyel_Casvill

Desconectado Desconectado

Mensajes: 113


adada


Ver Perfil
Re: tengo un problema con este programa.
« Respuesta #5 en: 10 Noviembre 2010, 05:49 am »

hey, flony, iualmente sigue el problema (aun asi gracias por aportar), bomba1990, gracias, segun lo que me dices, lo que entiendo es que el programa me lee las letras como si fuesen numeros por lo cual me da x o y resultado (numero), entonces tu me dices que con scanf puedo arreglar ello pero en que libreria puedo encontrarlo??

Gracias mens, bye.

con stdio??
« Última modificación: 10 Noviembre 2010, 05:51 am por danyhack » En línea

adada
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: tengo un problema con este programa.
« Respuesta #6 en: 10 Noviembre 2010, 07:16 am »

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. int modulo(int x, int y);
  4. int main(void)
  5. {
  6.    int var1;
  7.  
  8.    scanf("%d",&var1);
  9.    if(var1<100)
  10.    {
  11.         printf("el numero es menor que 100 %d",var1);
  12.    }
  13.    else if(var1==100)
  14.    {
  15.         printf("el numero es 100");
  16.    }
  17.    else if(var1>100)
  18.    {
  19.         printf("El numero es mayor que 100");
  20.    }else{
  21.          printf("el numero es invalido");
  22.    }
  23.  
  24. }

bueno acomode la funcion asi aunque igual me da como salida cuando meto un caracter el que sea y me alamcena un 2, estuve leyendo que la forma de para validar eso como es debido es tratarlo como char y despues anlizar cada caracter a ver is es numerico o no.
lee sobre estas funciones a ver si te sirven
stdlib (atoi, atof) y ctype (isdigit, isnumber)
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
ShadowStorm

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: tengo un problema con este programa.
« Respuesta #7 en: 10 Noviembre 2010, 17:12 pm »

#include <iostream.h>
#include <conio.h>
int main()
{
 int n;
 cout<<"ingrese el numero: ";
 cin>>n;
 if (n < 100)
 {
  cout<<"el numero es menor que 100";
 }
 else if (n > 100)
 {
  cout<<"el numero es mayor que 100";
 }
 else if (n == 100)
 {
  cout<<"el numero es igual a 100";
 }
 else
 {
  cout<<"error, el numero ingresado es invalido";
 }
 getch();
}

Hola, el problema es que aun no se utilizar muy bien que digamos las sentencias if, else y else if, enteonces, lo que creo mal quedo, fue la sentencia else, pues cuando ingreso alguna letra, el programa dice que el numero ingresado es mayor que 100, cuando deberia decir: error, el numero ingresado es invalido.

Gracias por sus respuestas, bye.

Podrías realizarlo de la siguiente manera:

Código
  1. #include <iostream.h>
  2. int main()
  3. {
  4. int n = 0;
  5. cout<<"ingrese el numero: ";
  6. cin>>n;
  7. if(cin.peek() != '\n')
  8. {
  9. cout<<"error, el numero ingresado es invalido"<< endl;
  10. }
  11. else
  12. {
  13. if (n < 100)
  14.     cout<<"el numero es menor que 100";
  15. else if (n > 100)
  16.     cout<<"el numero es mayor que 100";
  17.     else if (n == 100)
  18. cout<<"el numero es igual a 100";
  19.  
  20. }
  21. cout<<endl<<endl;
  22. cout<< "Presiona ENTER para salir";
  23. cin.sync();
  24. cin.get();
  25.  
  26. return 0;
  27. }
  28.  

Averigua sobre cin.peek()
En línea

Danyel_Casvill

Desconectado Desconectado

Mensajes: 113


adada


Ver Perfil
Re: tengo un problema con este programa.
« Respuesta #8 en: 10 Noviembre 2010, 19:25 pm »

hey mens, gracias, de una vez me voy a poner a averiguar sobre cin.peek() y sobre stdlib (atoi, atof) y ctype (isdigit, isnumber).

Mucgas gracias, bye.
En línea

adada
flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: tengo un problema con este programa.
« Respuesta #9 en: 12 Noviembre 2010, 22:29 pm »

ya se q paso el tiempo pero estaba revisando cosas viejas del foro para aprender y salio algo q te puede interesar
http://foro.elhacker.net/programacion_cc/como_hacer_para_introducir_solo_numeros-t304655.0.html
pero solo serviria si pones un limite a la cantidad de numeros
« Última modificación: 12 Noviembre 2010, 23:27 pm por flony » En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
tengo un problema con este programa en c++
Programación C/C++
mikael2018 1 1,760 Último mensaje 29 Octubre 2014, 15:35 pm
por eferion
Tengo un problema con un programa en C
Programación C/C++
maic1020 1 1,767 Último mensaje 11 Noviembre 2016, 13:51 pm
por MAFUS
Instalar este programa y no tengo ni idea en Linux « 1 2 3 »
GNU/Linux
Meta 28 12,262 Último mensaje 5 Diciembre 2016, 14:06 pm
por MinusFour
Programa C++ Tengo una duda con respecto a este programa. « 1 2 »
Programación C/C++
Estudiante000000 16 5,355 Último mensaje 22 Noviembre 2018, 03:29 am
por Estudiante000000
Tengo problema con mi pc Ojo, no econtre este tema aqui
Windows
planton 6 6,628 Último mensaje 2 Junio 2020, 00:29 am
por planton
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines