Código:
char *generateCode(char *code, char *name, char *id)
{
//ocupate de comprobar los punteros, tienen que ser todas cadenas read/write y mejor que tenga espacio suficiente en code
sprintf(code, "%.3s - %.3s - %.2d", normName(name), normNumber(id), rand() % 99);
return code;
}
normName tiene que hacer que el nombre solo tenga letras mayusculas (con las 3 primeras alcanza, comproba que la cadena sea lo suficientemente larga), trabaja sobre el mismo string y lo devuelve. normNumber tiene que hacer que la cedula solo tenga tres numeros (comproba que la cadena sea lo suficientemente larga y descarta los puntos), tambien trabaja sobre el mismo string y lo
devuelve. No te olvides de inicializar la semilla del rand en el main: