【发布时间】:2022-12-03 07:47:30
【问题描述】:
我正在创建一个表单,允许用户从一组汽车服务复选框中进行选择。在表单中,用户从定价服务列表中进行选择,并根据所选内容计算最终总数。
所选服务被添加的逻辑是 放置在返回总数的方法中。
。
一旦用户点击计算按钮,所有选择的价格将被加起来并显示在总费用标签上。
public partial class Automotive_Shop : Form
{
const int salesTax = (6 / 100);
// prices for services
const int
oilChange = 26,
lubeJob = 18,
radiatorFlush = 30,
transissionFlush = 80,
inspection = 15,
mufflerReplacement = 100,
tireRotation = 20;
int total = 0;
public Automotive_Shop()
{
InitializeComponent();
}
private int OilLubeCharges()
{
if (oilChangeCheckBox.Checked == true)
{
total += oilChange;
}
if (lubeJobCheckBox.Checked == true)
{
total += lubeJob;
}
return total;
}
private void calculateButton_Click(object sender, EventArgs e)
{
totalFeesOutput.Text = OilLubeCharges().ToString("C");
}
private void exitButton_Click(object sender, EventArgs e)
{
// close application
this.Close();
}
}
总数应该只加一次。
例如: 如果选中“换油”复选框, 那么总数应该是 26 美元。
如果选中“润滑作业”复选框, 那么总数应该是18美元。
如果两个复选框都被选中, 那么总数应该是 44 美元。
最终发生的事情是,在选中第一个复选框并单击计算按钮后, “总”变量值继续累加。
所以如果我选择“换油”然后点击计算,我得到 26 美元。 如果我取消选择它并选择“润滑工作”,总计不等于 18 美元,而是 44 美元。
【问题讨论】: