2017-04-22 97 views
1

因此,正如標題所示,我試圖在C#中使用Do-While語句來製作收據。我希望發生的是,在下訂單時,Do-While聲明將能夠看到所購買的物品以及所購物品的總計。例如,我有兩款意式咖啡,價格2.20英鎊,熱巧克力的價格是2.75英鎊,摩卡咖啡的價格是2.75英鎊。執行收單(C#)語句

我要收據看起來是這樣的:

咖啡X2 - £4.40 熱巧克力X1 - £2.75 摩卡X1 - £2.75

當然,如果說爲了有兩個摩卡代替一個,也許一個額外的項目,像三個美式2.50£它會是什麼樣子的:

咖啡X2 - £4.40 熱巧克力X1 - £2.75 摩卡X2 - £5.50 美式X3 - £7.50

我明白如何做一個簡單的Do-While代碼,但是我正在嘗試的(如果可以完成的話)已被卡住,我一直在努力一段時間。

任何幫助,將不勝感激。

我的代碼目前看起來是這樣的,以獲得計算的工作:

namespace While_Receipt 
{ 
    public partial class Form1 : Form 
    { 
     decimal priceespresso, totalespresso, pricefilter, totalfilter, priceCappuccino, totalCappuccino, priceAmericano, 
      totalAmericano, priceLatte, totalLatte, priceMocha, totalMocha, priceHotChocolate, totalHotChocolate, 
      priceIceCoffee, totalIceCoffee, priceExtra, totalExtra, TotalOverall; 


     int quantityespresso, quantityfilter, quantitiyCappuccino, quantityAmericano, quantityLatte, quantitiyMocha, 
      quantitiyHotChocolate, quantityIceCoffee, quantityExtra; 


     public Form1() 
     { 
      InitializeComponent(); 
     } 
private void btnTotal_Click(object sender, EventArgs e) 
     { 
      priceespresso = Convert.ToDecimal(txtEspressoPrice.Text); 
      quantityespresso = Convert.ToInt32(txtEspressoMultiply.Text); 
      totalespresso = priceespresso * quantityespresso; 
      lblResults.Text = Convert.ToString(totalespresso); 

      pricefilter = Convert.ToDecimal(txtFilterPrice.Text); 
      quantityfilter = Convert.ToInt32(txtFilterMultiply.Text); 
      totalfilter = pricefilter * quantityfilter; 
      lblFilterResults.Text = Convert.ToString(totalfilter); 

      priceCappuccino = Convert.ToDecimal(txtCappuccinoPrice.Text); 
      quantitiyCappuccino = Convert.ToInt32(txtAmericanoMultiply.Text); 
      totalCappuccino = priceCappuccino * quantitiyCappuccino; 
      lblCappuccinoResults.Text = Convert.ToString(totalCappuccino); 

      priceAmericano = Convert.ToDecimal(txtAmericanoPrice.Text); 
      quantityAmericano = Convert.ToInt32(txtCappuccinoMultiply.Text); 
      totalAmericano = priceAmericano * quantityAmericano; 
      lblAmericanoResults.Text = Convert.ToString(totalAmericano); 

      priceLatte = Convert.ToDecimal(txtLattePrice.Text); 
      quantityLatte = Convert.ToInt32(txtLatteMultiply.Text); 
      totalLatte = priceLatte * quantityLatte; 
      lblLatteResults.Text = Convert.ToString(totalLatte); 

      priceMocha = Convert.ToDecimal(txtMochaPrice.Text); 
      quantitiyMocha = Convert.ToInt32(txtMochaMultiply.Text); 
      totalMocha = priceMocha * quantitiyMocha; 
      lblMochaResults.Text = Convert.ToString(totalMocha); 

      priceHotChocolate = Convert.ToDecimal(txtHotChocolatePrice.Text); 
      quantitiyHotChocolate = Convert.ToInt32(txtHotChocolateMultiply.Text); 
      totalHotChocolate = priceHotChocolate * quantitiyHotChocolate; 
      lblHotChocolateResults.Text = Convert.ToString(totalHotChocolate); 

      priceIceCoffee = Convert.ToDecimal(txtIceCoffeePrice.Text); 
      quantityIceCoffee = Convert.ToInt32(txtIcedCoffeeMultiply.Text); 
      totalIceCoffee = priceIceCoffee * quantityIceCoffee; 
      lblIcedCoffeeResults.Text = Convert.ToString(totalIceCoffee); 

      priceExtra = Convert.ToDecimal(txtExtra.Text); 
      quantityExtra = Convert.ToInt32(txtExtraMultiply.Text); 
      totalExtra = priceExtra * quantityExtra; 
      txtExtraResults.Text = Convert.ToString(totalExtra); 

      TotalOverall = totalespresso + totalfilter + totalCappuccino + totalAmericano + totalLatte 
      + totalMocha + totalHotChocolate + totalIceCoffee + totalExtra; 
      lblTotalOverall.Text = Convert.ToString(TotalOverall); 
      } 

     private void lstResults_SelectedIndexChanged(object sender, EventArgs e) 
     { 

     } 
    } 
} 
+1

您定義的字段非常適合一個班級。嘗試將類中相關的數據結合起來。有許多buildin函數來計算多個產品的總和等。 –

+0

識別共性。你有一對文本框,可以是一個帶有Price和Multiplier屬性的UserControl。你有幾個對,可以用一個'List '跟蹤並且配置一個FlowLayoutPanel。現在只需要一個「foreach」來計算總數,它可以用於任意數量的項目。 –

回答

1

在這種情況下有沒有什麼可以與一個做而做循環。您可以使用if逐個檢查每個數量,以查看它們是否大於0,以及它們的時間,然後將它們輸出到收據上。我會推薦給你一些學習(從C#書你找到)。首先要了解課程,創建一個收據詳細信息的類別,其中包含要銷售的產品的屬性,數量,價格和價值。

然後,您應該瞭解有關集合的信息,以便將正在出售的產品集成到集合中。

您將能夠在網格控件或ListView中顯示集合的內容。

完成這些步驟後,您將能夠通過一個週期(而不是週期爲foreach的do-while週期)瀏覽收集的內容,並將這些項目輸出到收據。