Ho dato solo una occhiata veloce...
NMB[20] è un array di caratteri non un array di stringhe (cioè un array di array a carattere!)
Con CD[I].NMB[J] indirizzi il J-esimo carattere di NMB dell'I-esimo cd.
Se lavori con grandezze statiche devi definire il massimo numero di brani del cd e il max numero di caratteri del brano e poi definire nella struct
char NMB[MAX_BRANI][MAX_CAR]
a questo punto un indirizzamento del tipo CD[I].NMB[J] dovrebbe funzionare...