Il programma funziona bene, ma non riesce a stamparmi correttamente il nome di chi ha superato gli anni di anzianità ed ha lo stipendio più alto. Qualsiasi aiuto, suggerimento è ben accetto.

Supponendo di avere in input i dati relativi a N dipendenti di un'azienda: nome, cognome, anzianità, stipendio, scrivi un programma che stampi i dati relativi agli impiegati che hanno superato una determinata anzianità e tra questi stampa il nome del dipendente che ha lo stipendio più alto.

#include <stdio.h>

int N=0,X=0,AN=0,ST=0,MAX=0,CONT;
char NM[16],CG[16];
char *NOME;
main()
{
printf("Inserisci il numero di dipendenti: ");
scanf("%d",&N);
printf("Stabilisci gli anni di anzianità: ");
scanf("%d",&X);
for(CONT=0;CONT<N;CONT++)
{
printf("\nInserisci il nome del dipendente: ");
scanf("%s",&NM);
printf("Inserisci il cognome del dipendente: ");
scanf("%s",&CG);
printf("Inserisci l'anzianità del dipendente: ");
scanf("%d",&AN);
printf("Inserisci lo stipendio del dipendente: ");
scanf("%d",&ST);
if (AN>X) printf("%s %s Anzianità: %d Stipendio: %d",&NM,&CG,&AN,&ST);
if ((ST>MAX) && (AN>X)) MAX=(ST), NOME=(NM);
}
printf("\nIl dipendente che ha superato gli anni di anzianità stabiliti ed ha lo stipendio più alto è %s",NOME);
}