Então teria que ver como o seu programa funciona ai, eu faço da seguinte forma no mês de janeiro iriam ser 28 dias de férias né então pagaria mais 2 dias para completar os 30 dias, a outra maneira de fazer para pagar os 3 dias seriam pegar o valor do salario e dividir por 31 ai multiplica por 28 e paga os dias de ferias ai poderia pagar os 3 dias também. O que na verdade vai dar o mesmo valor no final, o que não pode é pagar a menos para o funcionário. Poderia fazer de qualquer uma das duas formas. Exemplificando :
Salario 880,00
880,00 / 31=28,39
28,39 * 3 = 85,17
28,39 * 28 = 794,92
85,17 + 794,92 = 880,09
880,00/30= 29,33
29,33 * 2 = 58,66
29,33 * 28 = 821,24
821,24 + 58,66 = 879,90
Ai no mês de fevereiro teria que fazer a mesma coisa pra pagar a diferença pois o mês é de 29. Da uma diferença de centavos mas qualquer um dos dois calculos estaria certo.
Eu faço por 30 que fica mais facil de entender, independente de ser 31