Cita:
Iniciado por kutcher Concuerdo totalmente con
Madh dejo otra opción con la condición de
do while diferente:
Pues yo no concuerdo con ninguno de los dos. Para empezar se puede producir un bucle infinito si no entran un número y, lo más importante, no consideran el caso de un número negativo, es decir que el primer caracter sea un menos. Por no mencionar que aún aunque se introduzca un número correcto sale el mensajito de "Repetir si no soy un numero". Además el número no tiene porque limitarse a una cifra.
Una opción chapucera sería:
Código C++:
Ver original#include <stdio.h>
int main ( ) {
int i , numero , flag = 0 , flag1 = 0 ;
char num [20];
do {
flag = 0 , flag1 = 0 ;
printf ( "\nIntroduzca un numero entero: " ) ; for ( i = 0 ; num [ i ] ; i++ ) {
if ( num [0] == '-' && flag1 == 0 )
flag1 = 1 ;
else if ( num [i] < '0' || num [i] > '9')
flag = 1 ;
}
}while ( flag != 0 ) ;
return 0 ;
}
¡¡¡Saluditos!!!