建立C#函數
-
2012年4月19日 上午 10:53
關於建立C#函數問題點
前50小時每分鐘0.3元
超過50小時每分鐘鐘0.2元
建立此C#函數名稱與呼叫C#函數應如何下定義盲點有點不解...
謝謝您的回覆
程式碼如下所示
public void bill(int hour) { int hour; int total; if (hour <= 50) { total = hour * 0.3; } else if (hour >= 50) { total = (hour - 50) * 0.2 + 50 * 0.3; } return; } private void btnCompute_Click(object sender, EventArgs e) { int minute; int cost; minute = Convert.ToInt32(txtMinute.Text); cost = Convert.ToInt32(txtCost.Text); }
所有回覆
-
2012年4月19日 上午 11:06版主
-
2012年4月19日 上午 11:08
您的問題是什麼?
建立此C#函數名稱與呼叫C#函數應如何下定義 <-- 不太明白你這句話的意思
回到你的程式碼
由你的程式碼看起來,hour是表示為小時,你的題目是每分鐘計價,那你應該要把hour換算成分鐘再去計算
也就是在計價的部份要多換算成 * 60
軟體開發領域裡區區一個迷途工程師
MyBlog: http://www.dotblogs.com.tw/ian/
開發ASP.NET您要瞭解的基楚
-
2012年4月19日 上午 11:51
您好,
如18說的,您只要將hour * 60 變成分數來處理即可!
public double bill(double hour) { double total = 0; if (hour <= 50) { total = (hour * 60) * 0.3; } else { total = ( (hour - 50) * 60) * 0.2 + (50 * 60) * 0.3; } return total; }int minute = 36700;
double hour = Math.Ceiling(minute / 60.0);
MessageBox.Show(bill(hour).ToString());
以上說明若有錯誤請指教,謝謝。
亂馬客blog: http://www.dotblogs.com.tw/rainmaker/- 已標示為解答 闕疑 2012年4月20日 上午 05:54
-
2012年4月19日 下午 02:26
除了No.18和亂馬客所說的一小時等於六十分鐘的問題外,似乎還有以下幾個問題:
1.bill函式似乎沒有回傳值。
2.hour似乎多宣告了一次。
3.hour是int型態,沒辦法跟double型態的0.3相乘。
4.total是int型態,無法儲存hour和0.3或0.5相乘的結果,且沒有預設值。
我修改成如下的樣子,不曉得是不是你要的。
//public void bill(int hour) static public double bill(double hour) { //int hour; //int total; double total = 0; if (hour <= 50) { total = hour * 0.3; } else if (hour >= 50) { total = (hour - 50) * 0.2 + 50 * 0.3; } //return; return total; } static void Main(string[] args) { Console.WriteLine(bill(30)); Console.WriteLine(bill(60)); Console.Read(); }
以上說明若有錯誤請指教,謝謝。
http://www.dotblogs.com.tw/terrychuang/- 已標示為解答 闕疑 2012年4月20日 上午 05:54
-
2012年4月20日 上午 05:51
亂碼克 謝謝您的回覆...
-
2012年4月20日 上午 05:52謝謝您的回覆


