我正在开展一个学校项目,我正在尝试编写一个允许用户输入总销售额的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;
}
}
答案 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对象。
如果这是企业系统中的代码,我会追捕你,除非这是一些极端性能的热门循环。