Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/05/2009, 14:30
Yawe
 
Fecha de Ingreso: diciembre-2008
Mensajes: 31
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Arreglo con numero

Código:
#define CTE 5
#define BORRA_BUFFER while (getchar() != '\n')


main(){
	int i,c,j,flag;
	int vector[5]={0};
	flag=0;
	while(!flag){
		i=0;
		c='1'; /*Condicion para que ingrese la primera vez 
(quiero ver si se puede cambiar por otra cosa */
		while( c != 10 && c <= '9' && c>='0' ){
			c=getchar();
			if(isalpha(c))
				break; /*el break queda feo, 
lo puedo cambiar por un c=10 o algo asi me parece */
			vector[i++]= c-'0';
		}
		i--;
		if(i==5)
			flag=1; /* sale del ciclo*/
		else{
			printf("Parametro Incorrecto, Presione Enter y Escriba otro numero");
			BORRA_BUFFER; /* El problema aca es que si no apreta enter 
y pone otra cosa el programa falla 
¿¿hay alguna otra manera de borrar el buffer ??*/
			flag=0;
		}
		
	}
Aca funciona pero comente un par de cosas que no me gustan..

me faltaria validar si tiene numeros repetidos pero eso es facil...