2013-10-09 64 views
0

我負責製作一個程序,該程序將爲比薩訂單。我給了用戶兩個單選按鈕來選擇大小(大6美元,X大12美元)和四個單選按鈕來選擇頂部數量(1,2,3,4)。我想出了一個計算含稅成本的公式(C = 1.13(0.75(x-1)+1)+ S,x是澆頭,S是尺寸)。C#在數學表達式中使用未分配的變量

我的問題是,一旦我嘗試對公式進行編碼,它說在使用未分配的變量numbToppings和大小在第二行中有一個錯誤。

任何想法,爲什麼發生這種情況,以及如何解決它。

 const double taxes = 1.13; 
     const double toppings = 0.75; 
     double size; 
     double numToppings; 
     double costInitial; 
     double costTotal; 

     if (radLarge.Checked == true) 
     { 
      size = 6; 
     } 

     else if (radXLarge.Checked == true) 
     { 
      size = 12; 
     } 

     if (rad1.Checked == true) 
     { 
      numToppings = 1; 
     } 

     else if (rad2.Checked == true) 
     { 
      numToppings = 2; 
     } 

     else if (rad3.Checked == true) 
     { 
      numToppings = 3; 
     } 

     else if (rad4.Checked == true) 
     { 
      numToppings = 4; 
     } 

     costInitial = ((toppings * numToppings - 1) + 1) + size; 
     costTotal = taxes * costInitial; 

回答

0

簡單的做到這一點

double numToppings = 0; 

將其設爲零。

原因:您正在對numToppings進行一些計算,編譯器不夠智能以確定您已經處理了所有可能的條件,並且numToppings無論如何都將被初始化。

欲瞭解更多,請閱讀Strange behaviour of switch case with boolean value

相關問題