使用if语句

时间:2016-04-13 21:52:21

标签: c#

我正在开展一个学校项目,我正在尝试编写一个允许用户输入总销售额的C#程序。我需要获取总销售额并按profitRatio计算如下:

totalSales                      profitRatio
0-$1,000:                           3%
$1,000.01-%5,000                    3.5%
$5,000.01-$10,000                   4%
Over 10,000                         4.5%

下一步是按照匹配的%类别计算总销售额并存储该数据。我还想显示用户使用的利润率%以及新的利润。如果这样写的话,“if then”语句是否会起作用?

private decimal ReturnRatio()
{
    if (totalSales > 0 && totalSales < 1000)
    {
        profitRatio = .03M;
    }
    else if (totalSales >= 1000.01 && totalSales < 5000)
    {
        profitRatio = .035M;
    }
    else if (totalSales >= 5000.01 && totalSales <= 10000)
    {
        profitRatio = .40M;
    }
    else if (totalSales < 10000)
    {
        profitRatio = .045M;
    }
}

2 个答案:

答案 0 :(得分:0)

在您的上一个分支else if (totalSales < 10000)中,您将允许使用<= 0&gt;的数字。我认为最后一个分支应该是else if (totalSales > 10000)

好吧,最后一个分支应该是一个处理其他金额的else语句,因为允许用户输入金额。例如:

else if (totalSales > 10000)
{
   profitRatio = .045M;
} 
else 
{
   Console.WriteLine("You entered an invalid amount.");
}

答案 1 :(得分:0)

如果那时陈述有效,但如果我是你的老师我会希望更多。您应该考虑创建一个Range类,其中包含Min的字段和Max的字段,然后创建表示每个类别的对象。

将这些Range对象放在像List这样的集合中,然后执行foreach循环以逐个遍历每个Range对象。

如果这是企业系统中的代码,我会追捕你,除非这是一些极端性能的热门循环。