Se posso permettermi lascerei perdere, per adesso, l'header.
mi concentrerei su scrivere un SINGOLO programma (cioè un singolo file) che faccia quel che vuoi.
POI ti concentrerai su come "trapiantarne" una porzione in un .h
divide et impera, spezza il tuo problema in sotto-problemi più facili