Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Abenthy

#1
Programación C/C++ / Congruencias DNI
28 Diciembre 2016, 17:56 PM
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:
#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