public static void Main()
double initial_investment,rates, yearend_value,annual_gain,rates_add;
bool ConvertResult = false;
Console.WriteLine("Please enter your initial investment amount: ");
Unconverted = Console.ReadLine();
ConvertResult = double.TryParse(Unconverted,out initial_investment);
if (ConvertResult && initial_investment>0)
initial_investment = Convert.ToDouble(Unconverted);
Console.WriteLine("Please enter the annual rate of return (in decimal): ");
Unconverted = Console.ReadLine();
ConvertResult = double.TryParse(Unconverted,out rates);
if (ConvertResult && 0<rates && rates<1)
Console.WriteLine("Please enter the number of investing years: ");
Unconverted = Console.ReadLine();
ConvertResult = int.TryParse(Unconverted,out years);
if (ConvertResult && years>=1 && years<=100)
Console.WriteLine(String.Format("{0,-7}{1,-17}{2,-15}{3,-10}","Year","Year End Value","Annual Gain","Total Return"));
rates_add = Convert.ToDouble(rates + 1);
yearend_value = Math.Round(initial_investment * (Math.Pow(rates_add,i)),2);
annual_gain = Math.Round(initial_investment*Math.Pow(rates_add,i) - initial_investment*Math.Pow(rates_add,i-1),2);
total_return = Math.Round(total_return + annual_gain,2);
Console.WriteLine(String.Format("{0,-7}{1,-17:C}{2,-15:C}{3,-10:C}",i,yearend_value,annual_gain,total_return));
Console.WriteLine("Enter NUMBERS between 1 and 100 for investing years.");
Console.WriteLine("Enter NUMBERS greater than 0 and less than 1 for interest rates.");
Console.WriteLine("Enter NUMBERS greater than 0 for initial investment amount.");