Está en la página 1de 2

#include <stdio.

h>
#include <stdlib.h>
#define TAM 13

void rellenarCodigo(int codigo[TAM])


{
int i = 0, sumarPares = 0, sumarImpares = 0, resultado =0;
srand(time(NULL));
for(i=0; i< (TAM-1); i++)
{
codigo[i] = rand()%10;
}
for (i=0; i<(TAM-1); i++)
{
if (i%2 == 0) sumarPares += codigo[i];
else sumarImpares += codigo[i];
}
sumarImpares *=3;
resultado = sumarImpares + sumarPares;
resultado = resultado % 10;
codigo[TAM-1] = resultado;
}

int comprobarCodigo(int codigo[TAM])


{
int i = 0, codigoCorrecto = 1, sumarImpares = 0, sumarPares =0, resultado=0;
for (i=0; i<TAM; i++)
{
if (codigo[i]>=10 || codigo[i]<0) codigoCorrecto = 0;
}
for (i=0; i<(TAM-1); i++)
{
if (i%2 == 0) sumarPares += codigo[i];
else sumarImpares += codigo[i];
}
sumarImpares *=3;
resultado = sumarImpares + sumarPares;
resultado = resultado % 10;
if (resultado != codigo[TAM-1]) codigoCorrecto =0;
return codigoCorrecto;
}

void mostrar(int codig[TAM])


{
int i =0;
printf("\n\t");
for (i=0; i<TAM; i++)
{
printf("\t%d",codig[i]);
}
printf("\n");
}

void rellenarCodigoSpain(int codigo[TAM])


{
int i = 0, numerosPares = 0, numerosImpares = 0, sumaTotal =0;
codigo[0] = 3;
codigo[1] = 4;
for (i = 0; i <TAM-1; i++)
{
if (i%2 == 0) numerosPares+=codigo[i];
else numerosImpares += codigo[i];
}
numerosImpares *=3;
sumaTotal = numerosPares +numerosImpares;
codigo [TAM-1] = sumaTotal %10;

int main()
{
int cod[TAM], cod2[TAM] = {1,2,3,4,5,6,7,8,9,0,0,1,1};
rellenarCodigo(cod);
if (comprobarCodigo(cod)) mostrar(cod);
else printf("\nwrong");
if (comprobarCodigo(cod2)) mostrar(cod2);
else printf("\nwrong");
rellenarCodigoSpain(cod2);
if (comprobarCodigo(cod2)) mostrar(cod2);
else printf("\nC digo incorrecto");

return 0;
}

También podría gustarte