Hola, no se que errores te da a tí, pero a mi el primero es la definición de:
const char* nombre[12];
cambiala por:
const char* nombre;
Luego la función strcat espera un string como segundo parámetro y le estas pasando un char, cambia el tipo o usa otra función como por ejemplo:
sprintf(nombre, "%c", a);
Un saludo.