#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.
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:
#include <iostream.h>
Por:
#include <iostream>
Saludos!
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.
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);
#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;
}
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??
#include <stdio.h>
#include <conio.h>
int modulo(int x, int y);
int main(void)
{
int var1;
scanf("%d",&var1);
if(var1<100)
{
printf("el numero es menor que 100 %d",var1);
}
else if(var1==100)
{
printf("el numero es 100");
}
else if(var1>100)
{
printf("El numero es mayor que 100");
}else{
printf("el numero es invalido");
}
}
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)
Cita de: danyhack 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.
Podrías realizarlo de la siguiente manera:
#include <iostream.h>
int main()
{
int n = 0;
cout<<"ingrese el numero: ";
cin>>n;
if(cin.peek() != '\n')
{
cout<<"error, el numero ingresado es invalido"<< endl;
}
else
{
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";
}
cout<<endl<<endl;
cout<< "Presiona ENTER para salir";
cin.sync();
cin.get();
return 0;
}
Averigua sobre
cin.peek()
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.
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 (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