Ir a contenido


Foto
- - - - -

Rutina para validar RUT en en diferentes lenguajes de prog.


  • Please log in to reply
7 respuestas a este tema

#1 Jose Ossa

Jose Ossa

    Gurú

  • Usuario
  • 630 Mensajes:
  • Sexo:Masculino

Escrito 24 March 2010 - 12:12 PM

Si alguien alguna vez ha necesitado validar los rut en una planilla excel les adjunto un macro que programé hace algunos años.

Procedimiento:
- Abrir el editor de visual basic dentro del excel (ALT+F11)
- Insertar -> modulo
- Pegan el siguiente codigo.

Public Function dvrut(rut)
' Por Jose Ossa Monge 2006'
 rut = Replace("0000" & rut, ".", "", 1) 
 If InStr(1, rut, "-") > 0 Then rut = Left(rut, InStr(1, rut, "-") - 1) 
 rut = Right(rut, 8) 
 suma = 0 
 For i = 1 To 8 
 suma = suma + Val(Mid(rut, i, 1)) * Val(Mid("32765432", i, 1)) 
 Next i 
 dv = 11 - (suma Mod 11) 
 If dv = 10 Then dv = "k" 
 If dv = 11 Then dv = 0 
 dvrut = dv 
 End Function

Despues, cuando estan en la hoja ingresan un rut sin dv en una celda (por ejemplo A1) y en la celda A2 escriben =dvrut(A1) y les devolerá el digito verificador de ese rut.

Este tema ha sido editado por Jose Ossa: 24 March 2010 - 12:13 PM

  • 11

#2 Sago7

Sago7

    Tin Man

  • Administrador
  • 6700 Mensajes:
  • Sexo:Masculino
  • Ubicación:Phobos

Escrito 24 March 2010 - 12:20 PM

Buen aporte, te ganaste un puntito de karma...
  • 0

Sago7x.png


2722851.png


#3 Sago7

Sago7

    Tin Man

  • Administrador
  • 6700 Mensajes:
  • Sexo:Masculino
  • Ubicación:Phobos

Escrito 24 March 2010 - 12:22 PM

Encontre por ahi una pagina donde aparece la rutina para validar rut en diferentes lenguajes.


Les dejo el link.

Validad RUT
  • 3

Sago7x.png


2722851.png


#4 Gespenstt

Gespenstt

    ZzzZZZz!

  • Staff en Retiro
  • 3640 Mensajes:
  • Nombre Real:Jaime Vásquez
  • Sexo:Masculino
  • Ubicación:Santiasko Urbano
  • Intereses:Pc's y MusicA!!!!!!
    Y mi novia hermosa (Nat)

Escrito 25 March 2010 - 01:31 PM

Ercelente :) +1
  • 0

Imagen enviada


#5 Gespenstt

Gespenstt

    ZzzZZZz!

  • Staff en Retiro
  • 3640 Mensajes:
  • Nombre Real:Jaime Vásquez
  • Sexo:Masculino
  • Ubicación:Santiasko Urbano
  • Intereses:Pc's y MusicA!!!!!!
    Y mi novia hermosa (Nat)

Escrito 25 March 2010 - 01:31 PM

+1 :headbang:
  • 0

Imagen enviada


#6 Avatar242

Avatar242

    Iniciado

  • Usuario
  • 5 Mensajes:

Escrito 07 July 2010 - 01:39 PM

Espero que este tb les sea util....

http://www.dcc.uchil....cl/validarrut/


saludos!
  • 0

#7 k4nnon.

k4nnon.

    Mr.Foro

  • SuperMod
  • 7743 Mensajes:
  • Nombre Real:Gonzalo
  • Sexo:Masculino
  • Ubicación:desde mi pc
  • Intereses:TODO MENOS REGGETON

Escrito 11 January 2012 - 07:03 PM

#include<stdio.h>
#include <stdlib.h>
#include <math.h>
main(){
	double aux,rut,num;
int z,k,s;
int n,t,ok;
int v[7];
int f[8];
char dv;

					  
	
	printf("\nIngrese el RUT : ");
	scanf("%lf", &rut);
	printf("\nIngrese su digito validador : ");
	scanf("%s", &dv);
  
  
	aux = rut;
	n = int(log10(rut))+1;
  
	for(z=n-1;z>0;z--){
if (z>0) {v[z]=int(aux/pow(10,z));aux = aux - v[z]*pow(10,z);}
}
num=0;
	for(z=n-1;z>0;z--){
num =  num + v[z]*pow(10,z);
}
	v[0]=rut-num;
  
	s = 0;
  
	for(z=0;z<6;z++){
	f[z]=z+2;
	}				
	for(z=6;z<8;z++){
	f[z]=z-4;
	}  
  
	for(z=0;z<n;z++){
	s = s + v[z]*f[z];
	}
		
	k = s-11*int(s/11);
	t=11-k;
  
  
	ok = 0;
	if((t==10)&&(dv=='k')) {ok=1;}
	if((t==11)&&(dv=='0')) {ok=1;}
	if((t<10)&&(dv-48==t)) {ok=1;}
  

	if (ok==1) {printf("\n El rut es correcto\n");}
	else {printf("\n El rut es falso\n");}

	
system("pause");
}

aca otro programa hecho por mi. la gracia del programa es que no usa getchar y ademas usa codigo ascii para validar el k. estan en c

saludos.
  • 1

Imagen enviada


#8 SebaGonzalez

SebaGonzalez

    Mr.Foro

  • Moderador
  • 1954 Mensajes:
  • Nombre Real:Sebastian Gonzalez Leon
  • Sexo:Masculino
  • Ubicación:Santiago de Chile
  • Intereses:Todo.

Escrito 13 January 2012 - 02:02 PM

:o tienes razon... pero esta es super clonada ps :/ en todos lados siempre encuentras validadores de rut :)
  • 0




1 usuario(s) están leyendo este tema

0 miembros, 1 invitados, 0 usuarios anónimos