C#模块数字输入

时间:2015-02-10 16:53:21

标签: c# module dreamspark

我不确定如何解决我的问题。我正在尝试编写一个程序,询问属性的值。然后它取值并将其乘以60%以给出评估值。例如,如果一英亩土地的价值为10,000美元,其评估价值为6,000美元。每100美元的评估价值,财产税为64美分。征收6,000美元土地的土地税为38.40美元。我必须设计一个模块化程序,询问一块房产的实际价值,并显示评估价值和房产税。这是我到目前为止所拥有的。

{
    static void Main(string[] args)
    {
        double propertyValue = 0.0;
        double assessTax = 0.0;
        double propertyTax = 0.0;

        getValue(ref propertyValue);
        Tax(ref propertyValue, propertyTax, assessTax);
        showOutput(ref propertyTax, assessTax, propertyValue);

    }///End Main
    static void showOutput(ref double propertyValue, double assessTax, double propertyTax)
    {
        Console.WriteLine("Your Entered Property Value was {0, 10:C}", propertyValue);
        Console.WriteLine("Your Assessment Value is {0, 10:C}", assessTax);
        Console.WriteLine("Your Property Tax is {0, 10:C}", propertyTax);
    }///End showOutput
    static void getValue(ref double propertyValue)
{
    Console.WriteLine("Please Enter Property Value");
    while (!double.TryParse(Console.ReadLine(), out propertyValue))
        Console.WriteLine("Error, Please enter a valid number");
}///End getValue
 static void Tax(ref double propertyValue, double assessTax, double propertyTax)
{
    assessTax = propertyValue * 0.60;
    propertyTax = (assessTax / 100) * 0.64;
}///End Tax

这是我第一次尝试在dreamspark写任何东西,所以如果答案显而易见,我会道歉(我有点丢失了)。我想也许我的财产价值投入没有得到保存。当我尝试运行它时,我得到的物业价值是0.00美元,评估价值是0.00美元,物业税是10,000美元。任何直接的答案或指南的链接,以便我自己修复它将不胜感激。

1 个答案:

答案 0 :(得分:0)

通常你不必使用所有这些参考资料。最好只在静态方法中返回一个值。

    static void Main(string[] args)
    {
        double propertyValue = 0.0;
        double assessTax = 0.0;
        double propertyTax = 0.0;

        propertyValue = GetValue();
        assessTax = GetAssessTax(propertyValue);
        propertyTax = GetTax(assessTax);

        ShowOutput(propertyValue, assessTax, propertyTax);

        Console.ReadKey(true);

    }

    static void ShowOutput(double propertyValue, double assessTax, double propertyTax)
    {
        Console.WriteLine("Your Entered Property Value was {0, 10:C}", propertyValue);
        Console.WriteLine("Your Assessment Value is {0, 10:C}", assessTax);
        Console.WriteLine("Your Property Tax is {0, 10:C}", propertyTax);
    }

    static double GetValue()
    {
        double propertyValue;

        Console.WriteLine("Please Enter Property Value");
        while (!double.TryParse(Console.ReadLine(), out propertyValue))
            Console.WriteLine("Error, Please enter a valid number");

        return propertyValue;
    }

    static double GetAssessTax(double propertyValue)
    {
        return  propertyValue * 0.60;
    }

    static double GetTax(double assessTax)
    {
        return (assessTax / 100) * 0.64;
    }

编辑: 在Tax方法中,你没有propertyTax参数的引用,你不能在当前上下文之外更改值。