Convertire variabile in nome

grazie. potrei provare a scrivere char* con 16 settori e magari potrei scrivere " N ", "NNE", "NE ", "ENE", " E " anche se in realtà per usarlo nella pratica non serve, come didattica è di certo interessante.
i gradi dovrei dividerli in 11,25° e penso che potrebbe funzionare. (?!?)

programmare non è il mio hobby, a volte mi scordo anche di cose che conoscevo già come la funzione macro, troppo spesso mi capita di perdermi in un bicchier d'acqua.
proverò a farlo sulla soluzione proposta da cotestatnt che al momento è anche quella che alla fine ho capito meglio.
vi ringrazio, è molto interessante per me poter studiare da questi esempi.
ho testato la versione di cotestatnt e funziona perfettamente, c'era solo il solito errore del secondo carattere ripetuto che ho modificato inserendo lo spazio.
adesso mi tolgo lo sfizio di vedere se si può fare anche con 16 settori, se entra e se funziona.

edit//
nulla da fare con questa memoria, ho provato a semplificare scrivendo solo 2 caratteri strBussola[16] = {"N ", "Ne", "NE", "En", "E ", "Es", "SE", "Se", "S ", "So", "SO", "Os", "O ", "On", "NO", "No"};
penso che posso accontentarmi di una versione funzionante a 8 settori.
anche sulla prima versione con la cascata di IF sono certo che il risultato sarebbe lo stesso, forse anche peggio.