【发布时间】:2019-08-04 02:42:19
【问题描述】:
在按钮方法中的以下代码中,当'work hours'超过40时,程序需要显示“Bonus!”在表格上三次。
我的问题是......我们如何在这种形式中使用循环(for循环/while循环最简单的方法)而不是简单的if语句?
我只是想知道在多次显示消息时最简单的循环形式是什么。
非常感谢, 亚历克斯·德尔
double hrsWorked;
double payRate, Salary;
hrsWorked = Convert.ToDouble(textBox1.Text);
payRate = Convert.ToDouble(textBox2.Text);
Salary = hrsWorked * payRate;
//need to use a loop (either for loop or while loop saying if no. hours is more than 40 (41, 42, 43, ...)
//shows 'Bonus' three times and when recalculate for any keyed in input again shows 3 times 'Bonus' before its Calculation as shown in the expected output image.
//if (hrsWorked > 40)
//{
// label3.Text = "Bonus";
// label4.Text = "Bonus";
// label5.Text = "Bonus";
//}
label6.Text = "calculated amount is " + Salary;
【问题讨论】:
-
那你要三遍还是四遍?决定。
-
我不明白你在做什么。请提供一个好的minimal reproducible example,准确地解释该代码的作用,您希望它做什么,以及具体您无法弄清楚什么。您发布的代码中的循环很荒谬,因为它将运行大约 20 亿次迭代(即直到
num1变量溢出并以负数结束)。更不用说您似乎正在修改循环中的实际工作时间变量。请改进这个问题。阅读How to Ask,了解如何以清晰、可回答的方式提出您的问题。 -
感谢您的反馈和评论,是的,我需要改进代码和问题,而我在代码中使用的 for 循环不是答案,只是表明我需要改进的想法以某种方式使用 for 循环,需要改进我提出这个问题的方式,再次感谢。
-
再次感谢 Sweeper 和 Peter 的 cmets 和反馈。我已经编辑并改进了这个问题:对我在代码中评论过的问题的进一步澄清是:需要使用循环(for循环或while循环说如果没有。小时超过40 (41, 42, 43, ...) 显示并显示单词“Bonus”三次,当重新计算任何键入的输入时,在其计算之前再次显示 3 次“Bonus”,如预期的输出图像所示。
标签: c# winforms datetime text double