duda: este validador no funciona probando me sale un "¡" como caracter.
umm...veran, este es mi codigo fuente. El asunto es que compila pero me aparece este caracter: ¡ a que se debe si no he invocado a ese caracter en el codigo???
#include <string.h>
#include <stdio.h>
#include <ctype.h>
/**Este metodo valida si el rut ingresado son solo numeros */
int main(){
/**He aqui la variable rut en formato char para hacer corroboraciones*/
char rut[7];
int i=0;
printf("Ingrese RUT: ");
scanf("%s", &rut[7]);
/*Para validar esto se ocupa la funcion isdigit*/
while(rut[i]!=7) {
if( isdigit(rut[i])==0){
printf("%c, %dn", rut[i], isdigit(rut[i]));
printf("RUT INVALIDO, ingrese otro: ");
scanf("%s", &rut[7]);
}
else
i++;
}
return 0;
getchar();
}
#include <string.h>
#include <stdio.h>
#include <ctype.h>
/**Este metodo valida si el rut ingresado son solo numeros */
int main(){
/**He aqui la variable rut en formato char para hacer corroboraciones*/
char rut[7];
int i=0;
printf("Ingrese RUT: ");
scanf("%s", &rut[7]);
/*Para validar esto se ocupa la funcion isdigit*/
while(rut[i]!=7) {
if( isdigit(rut[i])==0){
printf("%c, %dn", rut[i], isdigit(rut[i]));
printf("RUT INVALIDO, ingrese otro: ");
scanf("%s", &rut[7]);
}
else
i++;
}
return 0;
getchar();
}
La lectura de cadena la debes hacer scanf("%s", &rut);
porque si no solo estas poniendo lo ke hay en la posicion 7 y esa posicion esta destinada solo para el valor nulo en una cadena. Y tu ciclo while realmente no se que es lo que estes buscando hacer con el, de esa manera como lo tienes estas evaluando lo que hay en la posicion i evaluando si es diferente de 7 el valor del arreglo en esa posicion. Y tambien seria bueno saber donde dices que te aparece el ¡ ya que corri tu programa y no me aparece eso.
porque si no solo estas poniendo lo ke hay en la posicion 7 y esa posicion esta destinada solo para el valor nulo en una cadena. Y tu ciclo while realmente no se que es lo que estes buscando hacer con el, de esa manera como lo tienes estas evaluando lo que hay en la posicion i evaluando si es diferente de 7 el valor del arreglo en esa posicion. Y tambien seria bueno saber donde dices que te aparece el ¡ ya que corri tu programa y no me aparece eso.