public static void Main()
int[] userDate = new int[3] {30, 01, 2019};
DateTime initialDate = new DateTime(userDate[2], userDate[1], userDate[0]);
DateTime feeDate = DateTime.Today;
DateTime fecha = initialDate;
Console.WriteLine("FeeNumber\t FeeDate");
Console.WriteLine(String.Concat("\t00\t\t", fecha.ToString("dd/MM/yyyy")));
for(int feeNumber = 0; feeNumber < fees; feeNumber++)
fecha = SiguienteFecha(fecha, initialDate);
Console.WriteLine(String.Concat("\t", string.Format("{0:00}", feeNumber + 1), "\t\t", fecha.ToString("dd/MM/yyyy")));
public static DateTime SiguienteFecha(DateTime Fecha, DateTime FechaInicial)
if (FechaInicial.Day > 28 && Dia >= 28) Dia = FechaInicial.Day;
if (Dia > DateTime.DaysInMonth(Año, Mes)) Dia = DateTime.DaysInMonth(Año, Mes);
return new DateTime(Año, Mes, Dia);