That is almost a good start. All the columns are 4 characters wide. Except Thursday, which is 5 characters wide. So make a decision, settle on either 4 or 5 consistently across the board.
Then when printing the day numbers, don't try anything complicated to set the column width. Just put cout << setw(4) << DAY; or cout << setw(5) << DAY; depending on your preferred width.
A similar setw() when offsetting the first row and that should be about it. Note, you don't necessarily need a loop for that first line, just calculate the number of spaces required and a single cout << setw(n) << ' '; should do.
By the way, are you familiar with the idea of arrays? A lot of the code could probably be very much shorter if they were used rather than a long series of case: statements.
Yeah but i forgot everything about them. Oh and by the way should i take out the case statements from line 97-123. I tried using setw and playing around with it but still no like and the output went crazy lol.