Buenas tardes
Estoy haciendo un programa para calcular la letra del DNI y el NIF utilizando las congruencias módulo 23. He intentado hacerlo de esta forma:
Compila correctamente pero a la hora de realizar la operación del resto módulo 23 no se porque no lo realiza correctamente. ¿Alguna idea de que falla?
Mod: Los códigos deben ir en etiquetas GeSHi
Estoy haciendo un programa para calcular la letra del DNI y el NIF utilizando las congruencias módulo 23. He intentado hacerlo de esta forma:
Código (c) [Seleccionar]
#include<stdio.h>
int main(){
int N,i,j,cont,R;
char matrix[200],letras[200];
printf("Bienvenido a este programa, que calcula la letra correspondiente a un NIE o DNI determinado\n");
printf("Cuantos documentos quieres comprobar?\n");
scanf("%d",&N);
if(N>200) {
printf("\nExceso de documentos permitidos");
return 0;}
cont=1;
for(i=0;(i<N);i++){
printf("\nIntroduce el documento numero %d\n",cont);
cont++;
scanf("%s",&matrix[i]);
}
printf("Estos son los documentos que has introducido:\n");
for(i=0;(i<N);i++){
printf("%s \n",&matrix[i]);
}
for(j=0;(j<N);j++){
R=matrix[j]%23;
switch (R){
case 0:
letras[j]='T';
case 1:
letras[j]='R';
break;
case 2:
letras[j]='W';
break;
case 3:
letras[j]='A';
break;
case 4:
letras[j]='G';
break;
case 5:
letras[j]='M';
break;
case 6:
letras[j]='Y';
break;
case 7:
letras[j]='F';
break;
case 8:
letras[j]='P';
break;
case 9:
letras[j]='D';
break;
case 10:
letras[j]='X';
break;
case 11:
letras[j]='B';
break;
case 12:
letras[j]='N';
break;
case 13:
letras[j]='J';
break;
case 14:
letras[j]='Z';
break;
case 15:
letras[j]='S';
break;
case 16:
letras[j]='Q';
break;
case 17:
letras[j]='V';
break;
case 18:
letras[j]='H';
break;
case 19:
letras[j]='L';
break;
case 20:
letras[j]='C';
break;
case 21:
letras[j]='K';
break;
case 22:
letras[j]='E';
break;
}
}
printf("\n Las letras correspondientes a los documentos introducidos son:\n");
for(i=0;(i<N);i++){
printf("%s",&letras[i]);
}
return 0;
}
Compila correctamente pero a la hora de realizar la operación del resto módulo 23 no se porque no lo realiza correctamente. ¿Alguna idea de que falla?
Mod: Los códigos deben ir en etiquetas GeSHi