Tan solo tienes que usar un bucle a la espera de que el valor introducido sea el correcto. Y para ello no es necesario el uso de librerías y/o funciones adicionales a stdio.h, las creas a tu medida:
Código C++:
Ver original#include <stdio.h>
int main (){
char c[50];
int num, i, flag, factor, lon;
do{
num=0, flag=0, factor=1, lon=0;
for (lon = 0; c[lon] ; lon++);
for (i = 0; c[i] ; i++)
if (c[i]<'0' ||c[i]>'9'){
flag=1;
break;
}
if (flag==0)
for (i = lon-1; i>=0 ; i--,factor*=10)
num+=(c[i]-'0')*factor;
}
while(num>100 || flag!=0);
printf("Valor ingresado: %d",num
); return 0;
}
¡¡¡Saluditos!!!