Cuando realizo un programa en donde me permita ingresar solo números enteros desde 1 hasta el 100 utilizo las funciones gotoxy y clreol juntas para poder lograr con mi cometido de tal forma que si ingreso algun numero que no se encuentre en el intervalo [ 1 ; 100 ] el programe se estanque hasta que ingrese un valor válido. El código es el siguiente:
# include <string.h>
# include <conio.h>
# include <iostream.h>
# include <stdio.h>
# include <stdlib.h>
# define l 100
// ********************************************************************
int main()
{
char resp;
system("color 1e");
short int n;
gotoxy(15,5); cout<<"DATOS DE ALUMNOS";
gotoxy(15,6); cout<<"----------------";
gotoxy(5,8); cout<<"_______________________________________________";
do{
gotoxy(10,10); cout<<"Ingrese numero de alumnos a ingresar: ";
clreol(); system("color 1e"); cin>>n;
}while(100<n || n<1);
getche();
}
// ********************************************************************
El problema
está cuando ingreso texto, parece que ocurre un bucle infinito y no sé cuál es la razón y como poder arreglarlo, yo sé que sería ilógico ingresar texto cuando el programa me solicita el ingreso de un número, pero quiero hacer un programa eficiente que cuando ingrese algo que no me pidan o cuando por error presione alguna tecla que no corresponda, el programa responda de la forma adecuada indicando que estoy ingresando mal los datos y que ingrese correctamente....Espero respuestas....Muchas graciasAaaa..
..además me pregunto si es posible realizar lo anterior, pero sin usar gotoxy ni clreol pero usando las funciones de la librería estándar
-




Autor


En línea
Gracias por contestarme...mmm...creo que no me dejé entender...lo que quiero en esa parte del código es que el programa solo acepte valores desde 1 hasta 100...de tal forma que si ingreso 0 (0<1) o 123 (123>100) en cualquiera de los dos casos el programa borre dicha linea y se vuelva e ejecutar la misma instrucción de lectura hasta que ingrese el número correcto...Bueno creo que eso si lo hice más o menos bien...el problema está cuando ingreso alguna palabra o texto...el programa lo lee pero se "cuelga" como si se estuviera produciendo un bucle infinito...Espero más aportes...muchísimas gracias


