C#演唱会门票,简单开关,案例和if-else

时间:2015-11-24 21:38:59

标签: c#

节目规范:此应用程序的目的是计算音乐会门票的费用。 单程票价根据票证的位置而定。根据门票数量 订购时,折扣百分比将适用于总费用。最后,如果客户是首选 客户,他们将获得10美元的订单

private void calculateButton_Click(object sender, EventArgs e)
{
    double Box = 75.25;
    double Pavillion = 30.75;
    double Lawn = 21.50;
    double Tickets;
    double discount;
    int Number;

    Number = 0;
    discount = ;

    if (int.TryParse(numberofTicketsTextbox.Text, out Number))
    else MessageBox.Show("Invalid");

    if (boxRadioButton.Checked)
        singleTicketLabel.Text = Box.ToString();

    if (pavilionRadioButton.Checked)
        singleTicketLabel.Text = Pavillion.ToString();

    if (lawnRadioButton.Checked)
        singleTicketLabel.Text = Lawn.ToString();

    switch(discount)
    {
        case_1:

    }
}

我只是不知道如何让案件开始包含折扣

2 个答案:

答案 0 :(得分:0)

这样的事情是否有用 - 直接从MSDN reference on Switch statements

进行调整
double discount = 0;
switch (Number)   // <-- AWFUL name for a variable by the way
{
    case 1:       // For one ticket
        discount = 0.9;   // For 10%
        break;
    case 2:       // For two
    case 3:       // or three tickets
        discount = 0.8;   // For 20%
        break;
    default:
        discount = 1;
        break;
}

price -= price_before_discount * discount

请记住,只要切换语句有一个条件,就不会评估其他选项,并且交换机会中断。

答案 1 :(得分:0)

因为已经有一个答案只是另一个暗示:

您可以交换

if (int.TryParse(numberofTicketsTextbox.Text, out Number))
else MessageBox.Show("Invalid");

if (!int.TryParse(numberofTicketsTextbox.Text, out Number))
   MessageBox.Show("Invalid");

注意区别。在代码中,if语句后面有一个空块,只是使用了else块。通过使用!否定,您现在可以使用if语句本身的块。