codice:
while(giorno_anno>7){
        giorno_anno=1;
        //giorno_anno++;
        cout<<"esegue controllo\n";
    }
WTF!?

Esaminiamo questo pezzo di codice:
_ se giorno_anno <= 7, esce immediatamente
_ se giorno_anno è maggiore di 7, giorno_anno = 1 (ora il valore contenuto è 1)
_ aumenta giorno_anno (ora contiene 2)
_ dato che giorno_anno <= 2, il ciclo termina: giorno_anno vale ora 2.

Usa l'operatore modulo, come ti è stato consigliato prima.