Set
C/Visual C
Publicado el 21 de Agosto del 2020 por Luz
1.026 visualizaciones desde el 21 de Agosto del 2020
Set
int v_total, v_resto, k, v_numero_aux, v_digit;
char *v_numero_al, *p;
char v_caracter;
int i;
v_numero_al = (char *) malloc (strlen(p_numero) + 1);
memset(v_numero_al, 0, strlen(p_numero)+1);
while (v_caracter = *p_numero++, v_caracter != 0)
{
if (v_caracter >= '0' && v_caracter <= '9')
sprintf(v_numero_al, "%s%c", v_numero_al, v_caracter);
else {
sprintf(v_numero_al, "%s%d", v_numero_al, v_caracter);
}
}
k = 2;
v_total = 0;
i = strlen(v_numero_al) - 1 ;
p = v_numero_al + i++;
while (i--)
{
k = k > p_basemax ? 2 : k;
v_numero_aux = *(p--) - 48;
v_total += v_numero_aux * k++;
}
v_resto = v_total % 11;
v_digit = v_resto > 1 ? 11 - v_resto : 0;
free(v_numero_al);
return v_digit;
}
No hay comentarios