控制台应用程序崩溃C#

时间:2013-02-21 20:58:39

标签: c# windows console

所以我正在尝试制作一个计算每年利率的控制台应用程序。但不知何故,当我分配存款年度时它崩溃了。

源代码如下:

using System;
namespace week0502
{
   class Interest
   {
      static void Main(string[] args)
      {
         decimal p = 0; // principle
         decimal r = 1; // interest rate
         decimal t = 2; // time/years entered
         decimal i = 3; // interest
         decimal a = 4; // new amount
         // prompt for values
         Console.Write("Enter original deposit amount: ");
         p = Convert.ToDecimal(Console.ReadLine());
         Console.Write("Enter annual interest rate (10% as 10): ");
         r = Convert.ToDecimal(Console.ReadLine());
         Console.Write("Enter years to save this deposit amount: ");
         t = Convert.ToDecimal(Console.ReadLine());
         Console.WriteLine();
         // display headers
         Console.WriteLine("Year Rate Amount  Interest  New Amount");
         // calculate new amount on deposit after t amount of years
         for (int n = 1; n <= t; n++)
         {
               // calculations
               i = p * r;
               a = i + p;
               // display contents
               Console.WriteLine("{0, 4}{1, 4}{2, 10:C}{3, 5}{4, 10:C}", n, r, p, i, a);
            } // end for
      } // end main
   } // end class
} // end name

1 个答案:

答案 0 :(得分:1)

如果你忘记添加Console.ReadLine()(等待用户在关闭应用程序之前按Enter键)显示结果正常后表示关闭

using System;
namespace week0502
{
   class Interest
   {
      static void Main(string[] args)
      {
         decimal p = 0; // principle
         decimal r = 1; // interest rate
         decimal t = 2; // time/years entered
         decimal i = 3; // interest
         decimal a = 4; // new amount
         // prompt for values
         Console.Write("Enter original deposit amount: ");
         p = Convert.ToDecimal(Console.ReadLine());
         Console.Write("Enter annual interest rate (10% as 10): ");
         r = Convert.ToDecimal(Console.ReadLine());
         Console.Write("Enter years to save this deposit amount: ");
         t = Convert.ToDecimal(Console.ReadLine());
         Console.WriteLine();
         // display headers
         Console.WriteLine("Year Rate Amount  Interest  New Amount");
         // calculate new amount on deposit after t amount of years
         for (int n = 1; n <= t; n++)
         {
               // calculations
               i = p * r;
               a = i + p;
               // display contents
               Console.WriteLine("{0, 4}{1, 4}{2, 10:C}{3, 5}{4, 10:C}", n, r, p, i, a);
            } // end for
         Console.ReadLine(); //Add this to prevent application from closing
      } // end main
   } // end class
}