Нет синтаксических ошибок, но программа не дает никаких результатов - PullRequest
0 голосов
/ 08 ноября 2019

Я должен создать программу для класса. Мои приложения должны иметь методы возврата значений для OilLubeCharges(), FlushCharges(), MiscCharges(), OtherCharges(), TaxCharges(), TotalCharges().

. Для ClearOilLube() должны быть методы void. ClearFlushes(), ClearMisc(), ClearOther(), ClearFees().

В настоящее время в моем коде нет синтаксических ошибок, однако при его компиляции он ничего не вычисляет. Кнопки расчета, очистки и выхода также не работают. Любая помощь в том, почему эти проблемы возникают, будет принята с благодарностью. Ниже мой код.

public partial class Form1 : Form
{
    public Form1() 
    {
        InitializeComponent();
    }

    private void CalcButton_Click(object sender, EventArgs e)
    {
        OilLubeCharges();
        FlushCharges();
        MiscCharges();
        OtherCharges();
        TaxCharges();
        TotalCharges();
    }

    private void ClearButton_Click(object sender, EventArgs e)
    {
        oilCheckBox.Checked = false;
        lubeCheckBox.Checked = false;
        radFlushBox.Checked = false;
        tranFlushBox.Checked = false;
        insCheckBox.Checked = false;
        mufCheckBox.Checked = false;
        tireCheckBox.Checked = false;
        partsTextBox.Text = "";
        laborTextBox.Text = "";
        serLabTotalTextBox.Text = "";
        partsTotalTextBox.Text = "";
        taxPartsTextBox.Text = "";
        totalFeesTextBox.Text = "";
    }

    private void ExitButton_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    private int OilLubeCharges()
    {
        int total = 0;

        if (oilCheckBox.Checked)
        {
            total += 26;
            serLabTotalTextBox.Text = total.ToString("c");
        }

        if (lubeCheckBox.Checked)
        {
            total += 18;
            serLabTotalTextBox.Text = total.ToString("c");
            return total;
        }
        else
        {
            return total;
        }
    }

    private int FlushCharges()
    {
        int total = 0;

        if (radFlushBox.Checked)
        {
            total += 30;
            serLabTotalTextBox.Text = total.ToString("c");
        }

        if (tranFlushBox.Checked)
        {
            total += 80;
            serLabTotalTextBox.Text = total.ToString("c");
            return total;
        }
        else
        {
            return total;
        }
    }

    private int MiscCharges()
    {
        int total = 0;

        if (insCheckBox.Checked)
        {
            total += 15;
            serLabTotalTextBox.Text = total.ToString("c");
        }

        if (mufCheckBox.Checked)
        {
            total += 100;
            serLabTotalTextBox.Text = total.ToString("c");
        }

        if (tireCheckBox.Checked)
        {
            total += 20;
            serLabTotalTextBox.Text = total.ToString("c");
            return total;
        }
        else
        {
            return total;
        }
    }

    private int OtherCharges()
    {
        int total = 0;
        int parts = 0;
        int labor = 0;

        if (int.TryParse(partsTextBox.Text, out parts))
        {
            partsTextBox.Text = parts.ToString("c");
            total = parts;
        }

        if (int.TryParse(laborTextBox.Text, out labor))
        {
            laborTextBox.Text = labor.ToString("c");
            return total;
        }
        else
        {
            return total;
        }
    }

    private decimal TaxCharges()
    {
        decimal parts = 0;
        decimal partsTax;

        partsTax = parts * .06m;
        taxPartsTextBox.Text = partsTax.ToString("c");
        return partsTax;
    }

    private decimal TotalCharges()
    {
        decimal total = 0;

        total = OilLubeCharges() + FlushCharges() + MiscCharges() + TaxCharges() + OtherCharges();
        totalFeesTextBox.Text = total.ToString("c");
        return total;
    }
}

1 Ответ

0 голосов
/ 08 ноября 2019

Как указано в комментариях выше, скорее всего, ваши события не связаны с вашими кнопками. Вы можете сделать это несколькими способами;обычно это делается в конструкторе.

Чтобы точно знать, является ли это причиной, попробуйте следующее:

public Form1() 
{
    InitializeComponent();
    CalcButton.Click += CalcButton_Click;
}

Обратите внимание, что предполагается, что ваша кнопка называется "CalcButton". Вы также можете видеть, верно ли это в конструкторе.

Если это работает, вам нужно сделать то же самое с остальными кнопками либо таким же образом, либо выбрав метод в конструкторе для кнопки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...