【发布时间】:2015-10-15 21:26:36
【问题描述】:
我在学习C#,发现这个练习题:
编写一个计算三角形面积的程序,给定以下内容: 两条边的长度和它们之间的角度(提示:side-angle-side)
如果我有底和高,我知道如何在 C# 中找到三角形的面积,并且我知道有一种方法可以使用 .Math 类中的 .Cos 方法来获得余弦需要我的问题。但是,我的程序似乎不喜欢我使用的语法。对于如何在 .Math 类中实现方法以解决像这样需要用户输入一侧、角度和另一侧的几何问题,我可以提供任何建议吗?
我知道公式是 c^2 = a^2 + b^2 - 2ab * cos(y) //其中 y = 角度
这是我到目前为止所拥有的,我认为这将理解我正在尝试做的事情:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace day_of_the_week
{
class Program
{
static void Main(string[] args)
{
double side1;
double side2;
double angle;
Console.WriteLine("Enter one side length.");
side1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Enter the other side's height.");
side2 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Enter the value of the angle.");
angle = Convert.ToDouble(Console.ReadLine());
double thirdside = Program.thirdside(side1, side2);
Console.WriteLine(thirdside);
Console.ReadLine();
}
public static double thirdside(double side1, double side2, double angle)
{
return (side1*side1 + side2*side2 - 2*side1*side2.Cos(angle));
}
}
}
【问题讨论】:
-
“我的程序似乎不喜欢我使用的语法” 不足以描述您的问题。请包括你得到的错误,并突出显示错误发生的行。最好花时间删除与错误无关的所有行,并且只提供一个最小的代码示例。也就是说,在您的情况下,最明显的错误是微不足道的。您是否尝试过查看 Math.Cos (msdn.microsoft.com/en-us/library/…) 的手册页?它包含示例和所有内容。
-
我投票决定将此问题作为题外话结束,因为这主要是一个数学问题(公式错误/不完整)以及由于拼写错误导致的无效语法。
-
顺便说一句。该区域的正确公式是
(side1 * side2 * Math.Sin(angle)) / 2.0。 -
@poke 他不想知道这个地区。根据问题文本中的表达式,他希望通过使用余弦规则来获得第三边。
-
@DavidHeffernan “编写一个计算三角形面积的程序 [...]” 加上问题标题听起来很像这里的面积是目标值。跨度>
标签: c# class math methods geometry