That's ... not nice code ... to the point where I'm not going to wade through it (and "wade" is exactly what we'd have to do).
Write yourself a function which accepts a date, and returns the day number: Jan 1st 1990 is 1, Jan 2nd 1990 is 2, ... Dec 31st 1990 is 366, Jan 1st 1991 is 1, ... Dec 31st 1991 is 365, ...
Now it's trivial: get the day number for the birth year, get the day number for Dec31 of that year. Subtract.
Get the number of days for each year between the following year and last year - add them up and include the difference you calculated earlier. You can use the same function.
Get the day number for today. Add it in.
Because you write one function and can test it carefully, you can reuse it - and the rest of your code becomes really obvious and easy to read ...
BTW: You don't need to get the current date from the user: C libraries include code to do that for you:
https://www.techiedelight.com/print-current-date-and-time-in-c/[
^]
And it might be a good idea to use the same struct to hold your birthdate ... hint, hint.