Código de C/Visual C - Número RUT

Versión 1
estrellaestrellaestrellaestrellaestrella(3)

Publicado el 24 de Abril del 2003gráfica de visualizaciones de la versión: Versión 1
6.899 visualizaciones desde el 24 de Abril del 2003
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <ctype.h>
 
main()
{
char rut[12], digv;
int d[9], sw=0, i, j=0, sum, ver, dig, dign;
clrscr();
gotoxy(30,13);
printf("Ingrese el rut");
gets(rut);
for (i=0; i<12; i++)
   {
   switch(rut[i])
   {
       case '1': d[j]=1;
                 j++;
                 break;
 
       case '2': d[j]=2;
                 j++;
                 break;
 
       case '3': d[j]=3;
                 j++;
                 break;
 
       case '4': d[j]=4;
                 j++;
                 break;
 
       case '5': d[j]=5;
                 j++;
                 break;
 
       case '6': d[j]=6;
                 j++;
                 break;
 
       case '7': d[j]=7;
                 j++;
                 break;
 
       case '8': d[j]=8;
                 j++;
                 break;
 
       case '9': d[j]=9;
                 j++;
                 break;
 
       case '0': d[j]=0;
                 j++;
                 break;
       }
   }
sum=d[0]*3+d[1]*2+d[2]*7+d[3]*6+d[4]*5+d[5]*4+d[6]*3+d[7]*2;
dig=sum%11;
ver=11-dig;
 
switch(ver)
{
   case 10: digv='K';
            break;
 
   case 11: digv='0';
            break;
 
   default: dign=ver;
            sw=1;
}
 
gotoxy(40,15);
if(sw==1)
{
  if(d[8]==ver)
  printf("El rut %s es valido", rut);
  else
  printf("El rut %s es incorrecto", rut);
}
if(sw==0)
{
  rut[11]=toupper(rut[11]);
  if(digv==rut[11])
  printf("El rut %s es valido", rut);
  else
  printf("El rut %s es incorrecto", rut);
  }
  sleep(1);
  return 0;
}



Comentarios sobre la versión: Versión 1 (3)

11 de Mayo del 2003
estrellaestrellaestrellaestrellaestrella
Hola Hermes,
Bueno el retoque de lo ansestral con nuevos dedos....
Sabes la validacion de los Numeros de una patente de vehiculos....
Saludos con olor a mar.....
Responder
13 de Mayo del 2003
estrellaestrellaestrellaestrellaestrella
Nunca esta demas... vale
Responder
17 de Abril del 2006
estrellaestrellaestrellaestrellaestrella
Qué código tan mal hecho, horrible!!!

No sirve. Multiplica cada número del rut? que feo, no es estándar. Ni siquiera valida los famosos rut de prueba 1-9, 2-7, 3-5, 6-k

Mejor prueben este:

main(){int T,M=0,S=1;scanf("%d",&T);for(;T;T/=10)S=(S+T%10*(9-M++%6))%11;
printf("%c\n",S?S+47:75);}

Este sí que sí.

Salu2.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s597