ALGORITMO DE VALIDACIÓN DE RUT EN C++
Amigos
Tengo un problema, resulta que estoy programando un pequeño programa en Borland C++ y no me sale el digito verivicador del rut, el cual lo quiero manejar como cadena numerica y no me toma el valor del rut de un solo viaje. Les envio el codigo fuente haber si me pueden ayudar. ¡ES URGENTE!.
#include<stdio.h>
#include<string.h>
int i,sum,num,resto,d,digito;
int rut[9];
void main()
{
num=3;
printf("INGRESE SU RUT: n");
scanf("%d",&rut[i]);
for(i=0; i<=7; i++)
{
d=rut[i]*num;
sum=sum+d;
num--;
if(num<2)
num=7;
}
resto=(sum%11);
digito=(11-resto);
if((digito<=9)&&(digito>=0))
{
printf("El digito verificador es : %dn",digito);
}
else
{
if(digito==10)
{
printf("El digito verificador es : Kn");
}
else
{
if(digito==11)
{
printf("El digito verificador es : 0n");
}
}
}
}
Tengo un problema, resulta que estoy programando un pequeño programa en Borland C++ y no me sale el digito verivicador del rut, el cual lo quiero manejar como cadena numerica y no me toma el valor del rut de un solo viaje. Les envio el codigo fuente haber si me pueden ayudar. ¡ES URGENTE!.
#include<stdio.h>
#include<string.h>
int i,sum,num,resto,d,digito;
int rut[9];
void main()
{
num=3;
printf("INGRESE SU RUT: n");
scanf("%d",&rut[i]);
for(i=0; i<=7; i++)
{
d=rut[i]*num;
sum=sum+d;
num--;
if(num<2)
num=7;
}
resto=(sum%11);
digito=(11-resto);
if((digito<=9)&&(digito>=0))
{
printf("El digito verificador es : %dn",digito);
}
else
{
if(digito==10)
{
printf("El digito verificador es : Kn");
}
else
{
if(digito==11)
{
printf("El digito verificador es : 0n");
}
}
}
}