Witaj,
po pierwsze - kosmetyka.
while (t--) {
int polnoc = 0;
int poludnie = 0;
int zachod = 0;
int wschod = 0;
Deklaracje zmiennych wyrzuc przed pętlę, w pętli jedynie je zeruj.
using namespace std;
...
std::cin >> n;
Jeżeli używasz using namespace std, to nie musisz do cina używać operatora zasięgu ::
A teraz twój błąd w kodzie:
Przeanalizuj działanie if'ów odpowiedzialnych za wyświetlanie, bo aż 4 są niepotrzebne.
Potem skup się na działaniu 4 ostatnich if'ów i zastanów się jaki wpływ może mieć modyfikowanie wartości północ,południe... itd na dalsze sprawdzanie warunków. Jeżeli sobie nie poradzisz to pisz śmiało podpowiem bardziej :)