The problem is with your loop to calculate the total salary for a given month.
replace the incorrect
for (i = 1; i < n; i++);
with the correct
for (i = 1; i <= n; i++)
Notice that the end condition is different (i is less or equal to n), and there's no semicolon at the end of the line for the correct version.
There are further improvement opportunities.
Better input handling
Tell the user what they need to input. e.g. printf("Input Values (name, day, month, year, salary)\n"); Of course you can make it even better by specifying what you mean by month and day (name of the month/day or the index on a 1-31 or 1-12 scale). You can also add input validation if you really want to make things fail-safe.
Allocate the desired size of array
You have fixed your emp to 100 elements. Actually, you can set it to exactly n, as entered by the user, if you declare your emp array after the user has entered the desired number of employees.
printf("Enter the number of employees\n");
struct personal emp[n];