Verificador de RUT (nunca esta de mas)


#1

Descarga la aplicacion :wink:

GigaSize.com: Host and Share your Files

112 kb :wink:

El RUT (Rol Único Tributario) es un número que identifica a cada persona en Chile y se usa desde 1969. El RUT consiste en un número y un dígito verificador, que va desde el 0 al 9 y la letra K. El número de cada RUT es único e irrepetible, y el dígito verificador se calcula a partir del número.
El dígito verificador existe para “evitar engaños y suplantaciones de identidad” y es calculado con un algoritmo, que son sólo simples cálculos aritméticos. Para saber su dígito verificador, haga lo siguiente:

  1. Tome los números de su RUT (sin contar el dígito verificador, obvio). Ejemplo:
    30.686.957-X
  2. Delos vuelta.
    7 5 9 6 8 6 0 3
  3. Tome los números y vaya multiplicando cada uno de ellos por la siguiente serie de números: 2, 3, 4, 5, 6, 7… en ese orden. Si se le acaban los números de la serie, vuelva a usarla desde el principio.
    7 × 2 = 14
    5 × 3 = 15
    9 × 4 = 36
    6 × 5 = 30
    8 × 6 = 48
    6 × 7 = 42
    0 × 2 = 0
    3 × 3 = 9
  4. Una vez que haya multiplicado cada uno de los números, sume los resultados obtenidos.
    14 + 15 + 36 + 30 + 48 + 42 + 0 + 9 = 194
  5. Divida el número obtenido por 11 y obtenga el resto…
    194 ÷ 11 = 17
    Resto: 7
  6. Al número 11, réstele el resto de la división anterior.
    11 - 7 = 4
  7. Ahora hay que analizar el número obtenido. Hay tres posibilidades:
* Si el número obtenido es 1, 2, 3, 4, 5, 6, 7, 8 ó 9; ése es el dígito verificador.
* Si el número obtenido es 11, el dígito verificador es 0.
* Si el número obtenido es 10, el dígito verificador es K.

En el ejemplo, nos resultó el número 4, por lo tanto el dígito verificador es 4.


#2

Tengo un código en C y en Java que puede hacer eso !sucks!


#3

y de que nos sirve si no lo compartes?
!sconf!


#4

Es que esos ejemplos son de programación y eso cualquiera puede hacerlo, en todo caso, si lo quieren, pídanlo.


#5
import java.io.*; //Importamos la biblioteca estándar


class ValidarRut{ //Clase con la que vamos a trabajar

 public static void main(String args[]) throws IOException{ 
/*Es más cortito, es para arrojar una excepción :B */

    int rut,digito,suma,resto,resultado,factor;
    String rutString;

//Para el manejo de entrada estándar
     InputStreamReader e = new InputStreamReader(System.in);
     BufferedReader tecla = new BufferedReader(e);
   
    do{
       System.out.println("Ingrese rut sin puntos ni digito verificador ");
      
       rutString = tecla.readLine();
       rut = Integer.parseInt(rutString);
       
	} while(rut <= 0); //Iteración

//Ahora viene la parte de extraer dígito por dígito el rut

	for(factor = 2, suma = 0; rut > 0; factor++){

          digito = rut % 10;
	      rut /= 10;
	      suma += digito * factor;

	      if(factor >= 7) factor = 1; //Para volver al ciclo
              
	      }  
	
// Ahora viene el algoritmo del módulo 11

	       resto = suma % 11;
	       resultado = 11 -resto;

//Mostramos por pantalla.
//Si el resultado es menor que 10, se imprime el número.
//Si es igual a 10, entonces se imprime "K"
//Si no, entonces es 0

	      System.out.println("El digito verificador es: ");

	      if(resultado < 10) System.out.println(resultado+"
");
	      else if (resultado == 10) System.out.println("K
");
	      else System.out.println("0
");
              
/* Acá no hay manejo de excepciones porque ya las tratamos al comienzo del main*/
	
     }	 //Fin del main
}//Fin de la clase ValidarRut

Mi código en Java !skull!


#6

compilalo poz qlio ¬¬
xDDDDD


#7

Compílalo tú po, bájate el JRE y el JDK !skull!


#8

succionalo… compilalo tu xDDD

en too caso me quedo con el verificador de VB.
:wink:

quedan mas bonitos !sucks!
xD


#9

Hey y si el numero obtenido es 12 el numero verificador es 0??