Vamos a realizar una aplicación que nos puede servir para futuros programas, para averiguar la letra del NIF, comentar que existe una tabla de 23 letras, que son las que se utilizan para los NIF. Para averiguar la letra desde un numero, lo que se hace es sacar el resto del número y según el número que salga (siempre entre 0 a 23), corresponde a una letra. La tabla es la siguiente, y el 0 corresponde a la T y el 23 a la E:
T R W A G M Y F P D X B N J Z S Q V H L C K E
1 #include <stdio.h>
2
3 #define N 23
4
5 void main() {
6 char letra[N] = "TRWAGMYFPDXBNJZSQVHLCKE";
7 int letradni;
8 long int numero;
9
10 printf("Introduce el DNI sin la letra: ");
11 scanf("%ld",&numero);
12 if (numero > 0 && numero < 99999999) {
13 letradni = numero % 23;
14 printf("Su DNI es: %ld - %c\n",numero,letra[letradni]);
15 } else
16 printf("\n¡¡ DNI INTRODUCIDO INCORRECTAMENTE !!\n");
17 }
Descargar: CÓDIGO FUENTE