0

VS 2012、Windows Forms Project、C# を使用しています

products[]プロジェクトの XML ファイルから取得しているという製品の配列があります。ユーザーは数字のキーパッドを使用して製品 ID (4 桁、読み取り専用テキスト ボックス) を入力しproducts[]、ID に一致する価格を検索してユーザーに「釣り銭」を返します。ユーザーが無効な製品 ID を入力しないようにする方法、または ID を入力して [購入] をクリックした後に、「この ID は存在しません」などのメッセージを伝えるにはどうすればよいですか。ユーザーが「お金」を入れ、製品の4桁の選択を行った後の購入ボタンのコードは次のとおりです。

CoinChangeは、銀行用に提供された DLL のクラスであり、TotalChange変更を吐き出すために 2 つの引数を受け取るメソッドが呼び出されます。decimal productpricedecimal amountDeposited

private void btnPurchase_Click(object sender, EventArgs e)
{
    TextReader reader = null;
    decimal productprice;
    decimal amountDeposited = Convert.ToDecimal(txtDepositAmount.Text);
    int productChoice = Convert.ToInt16(txtChoice.Text);
    XmlSerializer serializer = new XmlSerializer(typeof(Product[]));
    reader = new StreamReader("../../XML/Drinks.xml");
    Product[] products = (Product[])serializer.Deserialize(reader);
    for (int x = 0; x < products.Length; x++)
    {
        if (products[x].productID == productChoice)
        {
            productprice = products[x].price;
            CoinChange CC = Service.TotalChange(productprice, amountDeposited);
            MessageBox.Show("Refund amount:" + "\r\n" + "Nickel: " + CC.Nickel.ToString() + "\r\n" + "Dime: " +
              CC.Dime.ToString() + "\r\n" + "Quarter: " + CC.Quarter.ToString());

            break;
        }
    }
}

これが正しくフォーマットされていなくても、私に怒鳴らないでください。私はサイトに不慣れで、修正する必要があるものを教えてください。ありがとうございました!

4

1 に答える 1

1
    for (int x = 0; x < products.Length; x++)
    {
        if (products[x].productID == productChoice)
        {
            productprice = products[x].price;
            CoinChange CC = Service.TotalChange(productprice, amountDeposited);
            MessageBox.Show("Refund amount:" + "\r\n" + "Nickel: " + CC.Nickel.ToString() + "\r\n" + "Dime: " +
                            CC.Dime.ToString() + "\r\n" + "Quarter: " + CC.Quarter.ToString());
            return;  // Found and handled the product
        }
    }
    // If we get here none of the products matched
    MessageBox.Show("Invalid product ID.  Please check your catalog and try again.");
于 2013-03-22T23:26:02.647 に答える