绿野人

为了好好的活着而活着

  博客园 :: 首页 :: :: 联系 :: 订阅 :: 管理 ::
  1using System;
  2using System.IO;
  3
  4namespace triangle
  5{
  6 /// <summary>
  7 /// 判断输入的三个数据是否可以构成一个三角形
  8 /// </summary>

  9 class triangle
 10 {
 11  [STAThread]
 12  static void Main(string[] args)
 13  {
 14   PrintHelp();
 15   ReceiveSide();
 16  }

 17
 18  /// <summary>
 19  /// 打印软件说明
 20  /// </summary>

 21  public static void PrintHelp()
 22  {
 23   System.Console.WriteLine("欢迎使用本软件,本软件用于确认输入的三边数据,是否可以组成一个正确的三角形.");
 24   System.Console.WriteLine("作者: Eli");
 25   System.Console.WriteLine("说明: 1.输入3个数据,用空格符分隔,按回车键出现结果.");
 26   System.Console.WriteLine("      2.输入Help,打印本软件说明.");
 27   System.Console.WriteLine("      3.输入Exit,按回车键,退出程序.");
 28   System.Console.WriteLine("");
 29  }

 30
 31  /// <summary>
 32  /// 获取可以组成三角形的三个正确的数据
 33  /// </summary>
 34  /// <returns></returns>

 35  public static void ReceiveSide()
 36  {
 37   System.Console.WriteLine("请在下面输入3个数据,用一个空格格开,并按下回车键,就可以产生结果.");
 38
 39   //读取用户输入的数据
 40   string strTemp = System.Console.ReadLine().Trim();
 41
 42   //检测输入,如果是Exit命令,则退出程序.
 43   if (strTemp.ToUpper().Trim() == "EXIT")
 44    return;
 45
 46   //检测输入,如果是Help命令,则打印帮助.
 47   if (strTemp.ToUpper().Trim() == "HELP")
 48   {
 49    PrintHelp();
 50    ReceiveSide();
 51    return;
 52   }

 53
 54   //定义一个对象数组保存用户输入的参数
 55   object[] obj = strTemp.Split(" ".ToCharArray());
 56
 57   //检查是否正好输入3个参数
 58   if (obj.Length != 3)
 59   {
 60    System.Console.WriteLine("少于或者超过3个数据,请重新输入!");
 61    ReceiveSide();
 62    return;
 63   }

 64
 65   //定义一个int数组保存用户输入的参数
 66   int[] sides = new int[3];
 67   try
 68   {
 69    sides[0= int.Parse(obj[0].ToString().Trim());
 70    sides[1= int.Parse(obj[1].ToString().Trim());
 71    sides[2= int.Parse(obj[2].ToString().Trim());
 72   }

 73   catch
 74   {
 75    System.Console.WriteLine("输入的数据不是合法的数据,请重新输入!");
 76    ReceiveSide();
 77    return;
 78   }

 79
 80   //检查用户输入的数据是否大于0
 81   for (int i=0; i<3; i++)
 82   {
 83    if (sides[i] < 0)
 84    {
 85     System.Console.WriteLine("输入的数据必须大于0,请重新输入!");
 86     ReceiveSide();
 87     return;
 88    }

 89   }

 90
 91   //检查是否可以组成三角形,并打印出检测结果
 92   int sidesSum = sides[0+ sides[1+ sides[2];
 93   for (int i=0; i<3; i++)
 94   {
 95    int sidesTemp = sidesSum - sides[i];
 96    if (sides[i] >= sidesTemp)
 97    {
 98     System.Console.WriteLine("边长{0}大于等于其它两个边长的和,不能组成三角形!",sides[i].ToString());
 99     ReceiveSide();
100     return;
101    }

102   }

103   System.Console.WriteLine("边长分别为: {0}, {1}, {2} 的三条边,可以组成一个三角形!",sides[0].ToString(),sides[1].ToString(),sides[2].ToString());
104   ReceiveSide();
105  }

106 }

107}

108
109
posted on 2006-06-21 09:04  绿野人  阅读(1235)  评论(0)    收藏  举报