任務: 創建一個使用簡單但有效的小時工資計算器。按小時支付計算器
private double amount4Hours = 4;
private double amount8Hours = 8;
private double amount10Hours = 10;
private void btnSubtotal_Click(object sender, EventArgs e)
{
double answer;
// 45 min break removal
double break45 = 0.75;
double outputValue = 0;
bool isNumber = true;
//true false statement for error checking
isNumber = double.TryParse(text4Hours.Text, out outputValue);
isNumber = double.TryParse(text8Hours.Text, out outputValue);
isNumber = double.TryParse(text10Hours.Text, out outputValue);
if (!isNumber)
{
//error checking for blank text boxes
MessageBox.Show("Enter a number from 0-9");
}
else
{
//calculates total amount of hours after breaks have been removed
amount4Hours = amount4Hours * double.Parse(text4Hours.Text);
amount8Hours = amount8Hours * double.Parse(text8Hours.Text) -
break45 * double.Parse(text8Hours.Text);
amount10Hours = amount10Hours * double.Parse(text10Hours.Text) -
break45 * double.Parse(text10Hours.Text);
// Adds all together to output final amount of hours
answer = amount4Hours + amount8Hours + amount10Hours;
labSubtotal.Text = answer.ToString();
}
}
private void btnPay_Click(object sender, EventArgs e)
{
// Hourly pay stored here
double hourpay = 6.19;
hourpay = hourpay * double.Parse(labSubtotal.Text);
labPay.Text = hourpay.ToString();
}
private void btnClear_Click(object sender, EventArgs e)
{
// Resets all text boxes back to blank
text4Hours.Text = string.Empty;
text8Hours.Text = string.Empty;
text10Hours.Text = string.Empty;
labSubtotal.Text = string.Empty;
labPay.Text = string.Empty;
}
}
}
問題... ...
- 當我在每個文本框中三種不同類型的數字,我得到的結果只是完美。
- 如果我打的清除按鈕,它做什麼,我只要求從輸出
- 消除一切,如果我再次(那些相同或不同的)輸入三個數字已被清除後,我會得到不同的輸出。
我認爲這與清晰的代碼有關,因爲它不像它在程序開始時那樣將值重置爲零。我曾嘗試設置清晰的代碼來輸入零,但這並沒有幫助;只是給出了同樣的問題。
一些東西,可能會對你更有用的比解決您的問題,爲您提供:http://samizdat.mines.edu/howto/HowToBeAProgrammer.html#id2790282本節學習如何調試。 – mydogisbox
歡迎來到SO。請避免文本沒有直接關係的問題(如「新來的」,「被搜索了很多」,「謝謝你」)和標籤(如「C#」)在以後的文章標題。如果您想添加有關您自己的詳細信息,請修改您的用戶信息。也可以嘗試格式化你的代碼在更短的線路,以避免水平滾動... –
你可能想在小數不使用的,而不是「雙」雙有舍入誤差「小數」。在需要準確性的情況下,對貨幣相關存儲使用小數點是常見做法。 – Qwerty01