2017-03-27 16 views
-1

私はプログラムから合計を引っ張って、プログラムが閉じられたときに表示される配列に入れようとしていますが、最後の数字が入力され、アレイスロット0の番号と一緒にそれを修正します。これをどのように修正しますか?私は配列を統合しようとしています

string[] Sales = new string[5]; 
int i = 0; 
string Invoice = ""; 
int numberOfInvoices = 0; 
decimal totalOfInvoices = 0m; 
decimal invoiceAverage = 0m; 
string Total = ""; 

private void btnCalculate_Click(object sender, EventArgs e) 
{ 
    //sets the variables 
    decimal subtotal = Convert.ToDecimal(txtEnterSubtotal.Text); 
    decimal discountPercent = .25m; 
    decimal discountAmount = Math.Round(subtotal * discountPercent, 2); 
    decimal invoiceTotal = subtotal - discountAmount; 

    //retrieves the data from the form 
    txtSubtotal.Text = subtotal.ToString("c"); 
    txtDiscountPercent.Text = discountPercent.ToString("p1"); 
    txtDiscountAmount.Text = discountAmount.ToString("c"); 
    txtTotal.Text = invoiceTotal.ToString("c"); 

    //preforms the various math functions 
    numberOfInvoices++; 
    totalOfInvoices += invoiceTotal; 
    invoiceAverage = totalOfInvoices/numberOfInvoices; 

    Total = Convert.ToString(invoiceTotal); 
    for (int i = 0; i < Sales.Length; i++) ; 
    { 
     Sales[i] += Total + "\n"; 
    } 

    txtNumberOfInvoices.Text = numberOfInvoices.ToString(); 
    txtTotalOfInvoices.Text = totalOfInvoices.ToString("c"); 
    txtInvoiceAverage.Text = invoiceAverage.ToString("c"); 

    txtEnterSubtotal.Text = ""; 

    //sets the focus on Enter Subtotal 
    txtEnterSubtotal.Focus(); 

} 
private void btnClearTotals_Click(object sender, EventArgs e) 
{ 
    numberOfInvoices = 0; 
    totalOfInvoices = 0m; 
    invoiceAverage = 0m; 

    txtNumberOfInvoices.Text = ""; 
    txtTotalOfInvoices.Text = ""; 
    txtInvoiceAverage.Text = ""; 

    txtEnterSubtotal.Focus(); 
} 
private void btnExit_Click(object sender, EventArgs e) 
{ 
    for (int i = 0; i < 5; i++) ; 
    { 
    foreach (string Tot in Sales) 

     { 
      Total += Tot; 
     } 
    } 
    MessageBox.Show(Total, "Invoices"); 
    //closes the program 
    this.Close(); 
} 

これは、私は100を入力したときに、私が得るものである200、300、400、および500

375.0075.00、 150.00、 225.00、 300.00、 375.00

+0

リストを使用して、合計値の値を 'string.Join()'メソッドとともに保存してください。 – MethodMan

+0

実際には配列を使用しないでください。リストを使用し、空にして開始し、要素を追加します。自動的にリストのサイズが変更され、最後に新しい項目が追加されます。 –

答えて

0

リストを使用します...

リストの作成

var Sales = new List<int>(); 

次に、リスト

Sales.Add(total); 

に追加するには、リストに追加し続けることができます。

数字を文字列に変換するように見えます。不規則に見えるのは、小数点と整数だけで動作します。

これが役に立ちます。

+0

それはそれが私のリストを使用する必要がなかった場合は、配列を維持する必要があります。 –

+0

あなたは何らかの理由でそれを保持する必要がある場合...たぶんあなたのリストを変換し、それを使用することができますか? http://stackoverflow.com/questions/1603170/conversion-of-system-array-to-list – user3585143

関連する問題