-4

私は大学生で、アプリを作成しています。ただし、アプリ内に 2 つの主な問題があります。私のアプリは、ピザ屋のスタッフが注文をキッチンに送信できるようにするピザアプリです (これは単なるリストボックスです)。しかし、数学は機能しません。何らかの理由で、注文のラベルに正しい価格が表示されません。コードを記述して配置するさまざまな方法を試しましたが、結果は常に同じです。また、テーブルごとに5人の顧客がいます。すべての顧客の注文を選択して送信をクリックすると、顧客 2 の注文のみが送信されます。他の顧客ではありませんが、顧客 1 人だけで行うとうまくいきます。

以下は私のコードです。うまくいけば、誰かが私が間違っている場所を教えてくれることを願っています. ソリューションへのヘルプ/フィードバックをお寄せいただきありがとうございます。

アプリコード:

Public Class Form1
    Dim myformat As String = "{0,-10}{1,-25}{2,-15}{3,-30}{4,-10}"
    Dim cost As Single
    Dim base As String
    Dim pizza As String
    Dim table As String
    Dim topping As String
    Dim drink As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ListBox1.Items.Add(String.Format(myformat, "table", "pizza", "base", "topping", "drink"))
    End Sub
    Private Sub STK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles STK.Click


    '------------------table no-------------------'
    If tableno.Text = "1" Then
        table = "1"
    ElseIf tableno.Text = "2" Then
        table = "2"
    ElseIf tableno.Text = "3" Then
        table = "3"
    ElseIf tableno.Text = "4" Then
        table = "4"
    ElseIf tableno.Text = "5" Then
        table = "5"
    ElseIf tableno.Text = "6" Then
        table = "6"
    ElseIf tableno.Text = "7" Then
        table = "7"
    ElseIf tableno.Text = "8" Then
        table = "8"
    ElseIf tableno.Text = "9" Then
        table = "9"
    ElseIf tableno.Text = "10" Then
        table = "10"
    ElseIf tableno.Text = "11" Then
        table = "11"
    ElseIf tableno.Text = "12" Then
        table = "12"
    ElseIf tableno.Text = "13" Then
        table = "13"
    ElseIf tableno.Text = "14" Then
        table = "14"
    ElseIf tableno.Text = "15" Then
        table = "15"
    ElseIf tableno.Text = "16" Then
        table = "16"
    ElseIf tableno.Text = "17" Then
        table = "17"
    ElseIf tableno.Text = "18" Then
        table = "18"
    ElseIf tableno.Text = "19" Then
        table = "19"
    ElseIf tableno.Text = "20" Then
        table = "20"
    ElseIf tableno.Text = "21" Then
        table = "21"
    ElseIf tableno.Text = "22" Then
        table = "22"
    ElseIf tableno.Text = "23" Then
        table = "23"
    ElseIf tableno.Text = "24" Then
        table = "24"
    ElseIf tableno.Text = "25" Then
        table = "25"
    End If
    '---------------pizza type 1----------------'
    If pizza1.Text = "Planet Cheese" Then
        pizza = "Planet Cheese"
        cost = 4.0
    ElseIf pizza1.Text = "Planet Special" Then
        pizza = "Planet Special"
        cost = 5.0
    ElseIf pizza1.Text = "Planet Vegi" Then
        pizza = "Planet Vegi"
        cost = 4.5
    ElseIf pizza1.Text = "Planet Feast" Then
        pizza = "Planet Feast"
        cost = 6.0
    ElseIf pizza1.Text = "Planet Itella" Then
        pizza = "Planet Itella"
        cost = 6.5
    End If
    '---------------pizza type 2----------------'
    If pizza2.Text = "Planet Cheese" Then
        pizza = "Planet Cheese"
        cost = 4.0
    ElseIf pizza2.Text = "Planet Special" Then
        pizza = "Planet Special"
        cost = 5.0
    ElseIf pizza2.Text = "Planet Vegi" Then
        pizza = "Planet Vegi"
        cost = 4.5
    ElseIf pizza2.Text = "Planet Feast" Then
        pizza = "Planet Feast"
        cost = 6.0
    ElseIf pizza2.Text = "Planet Itella" Then
        pizza = "Planet Itella"
        cost = 6.5
    End If


    '---------------pizza type 3----------------'
    If pizza3.Text = "Planet Cheese" Then
        pizza = "Planet Cheese"
        cost = 4.0
    ElseIf pizza3.Text = "Planet Special" Then
        pizza = "Planet Special"
        cost = 5.0
    ElseIf pizza3.Text = "Planet Vegi" Then
        pizza = "Planet Vegi"
        cost = 4.5
    ElseIf pizza3.Text = "Planet Feast" Then
        pizza = "Planet Feast"
        cost = 6.0
    ElseIf pizza3.Text = "Planet Itella" Then
        pizza = "Planet Itella"
        cost = 6.5
    End If

    '---------------pizza type 4----------------'
    If pizza4.Text = "Planet Cheese" Then
        pizza = "Cheese and Tamato"
        cost = 4.0
    ElseIf pizza4.Text = "Planet Special" Then
        pizza = "Planet Special"
        cost = 5.0
    ElseIf pizza4.Text = "Planet Vegi" Then
        pizza = "Planet Vegi"
        cost = 4.5
    ElseIf pizza4.Text = "Planet Feast" Then
        pizza = "Planet Feast"
        cost = 6.0
    ElseIf pizza4.Text = "Planet Itella" Then
        pizza = "Planet Itella"
        cost = 6.5
    End If

    '---------------pizza type 5----------------'
    If pizza5.Text = "Planet Cheese" Then
        pizza = "Planet Cheese"
        cost = 4.0
    ElseIf pizza2.Text = "Planet Special" Then
        pizza = "Planet Special"
        cost = 5.0
    ElseIf pizza5.Text = "Planet Vegi" Then
        pizza = "Planet Vegi"
        cost = 4.5
    ElseIf pizza2.Text = "Planet Feast" Then
        pizza = "Planet Feast"
        cost = 6.0
    ElseIf pizza5.Text = "Planet Itella" Then
        pizza = "Planet Itella"
        cost = 6.5
    End If


    '---------------base 1 ------------'
    If norm1.Checked Then
        base = "norm"
    ElseIf thin1.Checked Then
        base = "thin"
    ElseIf CB1.Checked Then
        base = "CB"
    ElseIf BSC1.Checked Then
        base = "BSC"
    End If
    '---------------base 2 ------------'
    If norm2.Checked Then
        base = "norm"
    ElseIf thin2.Checked Then
        base = "thin"
    ElseIf CB2.Checked Then
        base = "CB"
    ElseIf BSC2.Checked Then
        base = "BSC"
    End If
    '---------------base 3 ------------'
    If norm3.Checked Then
        base = "norm"
    ElseIf thin3.Checked Then
        base = "thin"
    ElseIf CB3.Checked Then
        base = "CB"
    ElseIf BSC3.Checked Then
        base = "BSC"
    End If
    '---------------base 4 ------------'
    If norm4.Checked Then
        base = "norm"
    ElseIf thin4.Checked Then
        base = "thin"
    ElseIf CB4.Checked Then
        base = "CB"
    ElseIf BSC4.Checked Then
        base = "BSC"
    End If
    '---------------base 5 ------------'
    If norm5.Checked Then
        base = "norm"
    ElseIf thin5.Checked Then
        base = "thin"
    ElseIf CB5.Checked Then
        base = "CB"
    ElseIf BSC5.Checked Then
        base = "BSC"
    End If





    '----------topping1----'
    If cheese1.Checked = True Then
        topping = "Cheese"
        cost = cost + 1.0
    End If
    If pepperoni1.Checked = True Then
        topping = "Pepperoni"
        cost = cost + 1.0
    End If
    If onion1.Checked = True Then
        topping = "onion"
        cost = cost + 1.0
    End If
    If peppers1.Checked = True Then
        topping = "Peppers"
        cost = cost + 1.0
    End If
    If sausage1.Checked = True Then
        topping = "sausage"
        cost = cost + 1.0
    End If
    If tuna1.Checked = True Then
        topping = "tuna"
        cost = cost + 1.0
    End If
    If meatballs1.Checked = True Then
        topping = "meatballs"
        cost = cost + 1.0
    End If






    '----------topping2----'
    If cheese2.Checked = True Then
        topping = "Cheese"
        cost = cost + 1.0
    End If
    If pepperoni2.Checked = True Then
        topping = "Pepperoni"
        cost = cost + 1.0
    End If
    If onion2.Checked = True Then
        topping = "onion"
        cost = cost + 1.0
    End If
    If peppers2.Checked = True Then
        topping = "Peppers"
        cost = cost + 1.0
    End If
    If sausage2.Checked = True Then
        topping = "sausage"
        cost = cost + 1.0
    End If
    If tuna2.Checked = True Then
        topping = "tuna"
        cost = cost + 1.0
    End If
    If meatballs2.Checked = True Then
        topping = "meatballs"
        cost = cost + 1.0
    End If





    '----------topping3----'
    If cheese3.Checked = True Then
        topping = "Cheese"
        cost = cost + 1.0
    End If
    If pepperoni3.Checked = True Then
        topping = "Pepperoni"
        cost = cost + 1.0
    End If
    If onion3.Checked = True Then
        topping = "onion"
        cost = cost + 1.0
    End If
    If peppers3.Checked = True Then
        topping = "Peppers"
        cost = cost + 1.0
    End If
    If sausage3.Checked = True Then
        topping = "sausage"
        cost = cost + 1.0
    End If
    If tuna3.Checked = True Then
        topping = "tuna"
        cost = cost + 1.0
    End If
    If meatballs3.Checked = True Then
        topping = "meatballs"
        cost = cost + 1.0
    End If






    '----------topping4----'
    If cheese4.Checked = True Then
        topping = "Cheese"
        cost = cost + 1.0
    End If
    If pepperoni4.Checked = True Then
        topping = "Pepperoni"
        cost = cost + 1.0
    End If
    If onion4.Checked = True Then
        topping = "onion"
        cost = cost + 1.0
    End If
    If peppers4.Checked = True Then
        topping = "Peppers"
        cost = cost + 1.0
    End If
    If sausage4.Checked = True Then
        topping = "sausage"
        cost = cost + 1.0
    End If
    If tuna4.Checked = True Then
        topping = "tuna"
        cost = cost + 1.0
    End If
    If meatballs4.Checked = True Then
        topping = "meatballs"
        cost = cost + 1.0
    End If







    '----------topping5----'
    If cheese5.Checked = True Then
        topping = "Cheese"
        cost = cost + 1.0
    End If
    If pepperoni5.Checked = True Then
        topping = "Pepperoni"
        cost = cost + 1.0
    End If
    If onion5.Checked = True Then
        topping = "onion"
        cost = cost + 1.0
    End If
    If peppers5.Checked = True Then
        topping = "Peppers"
        cost = cost + 1.0
    End If
    If sausage5.Checked = True Then
        topping = "sausage"
        cost = cost + 1.0
    End If
    If tuna5.Checked = True Then
        topping = "tuna"
        cost = cost + 1.0
    End If
    If meatballs5.Checked = True Then
        topping = "meatballs"
        cost = cost + 1.0
    End If







    '---------------drink1-----------------------'
    If drink1.Text = "Cola" Then
        drink = "Cola"
        cost = cost + 0.9
    ElseIf drink1.Text = "Fruit Punch" Then
        drink = "Fruit Punch"
        cost = cost + 0.8
    ElseIf drink1.Text = "J2o" Then
        drink = "J2o"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Blaster" Then
        drink = "Alien Blaster"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Brains" Then
        drink = "Alien Brains"
        cost = cost + 0.9
    End If





    '---------------drink2-----------------------'
    If drink2.Text = "Cola" Then
        drink = "Cola"
        cost = cost + 0.9
    ElseIf drink2.Text = "Fruit Punch" Then
        drink = "Fruit Punch"
        cost = cost + 0.8
    ElseIf drink2.Text = "J2o" Then
        drink = "J2o"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Blaster" Then
        drink = "Alien Blaster"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Brains" Then
        drink = "Alien Brains"
        cost = cost + 0.9
    End If




    '---------------drink3-----------------------'
    If drink3.Text = "Cola" Then
        drink = "Cola"
        cost = cost + 0.9
    ElseIf drink3.Text = "Fruit Punch" Then
        drink = "Fruit Punch"
        cost = cost + 0.8
    ElseIf drink3.Text = "J2o" Then
        drink = "J2o"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Blaster" Then
        drink = "Alien Blaster"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Brains" Then
        drink = "Alien Brains"
        cost = cost + 0.9
    End If




    '---------------drink4-----------------------'
    If drink4.Text = "Cola" Then
        drink = "Cola"
        cost = cost + 0.9
    ElseIf drink4.Text = "Fruit Punch" Then
        drink = "Fruit Punch"
        cost = cost + 0.8
    ElseIf drink4.Text = "J2o" Then
        drink = "J2o"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Blaster" Then
        drink = "Alien Blaster"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Brains" Then
        drink = "Alien Brains"
        cost = cost + 0.9
    End If





    '---------------drink5-----------------------'
    If drink5.Text = "Cola" Then
        drink = "Cola"
        cost = cost + 0.9
    ElseIf drink5.Text = "Fruit Punch" Then
        drink = "Fruit Punch"
        cost = cost + 0.8
    ElseIf drink5.Text = "J2o" Then
        drink = "J2o"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Blaster" Then
        drink = "Alien Blaster"
        cost = cost + 0.9
    ElseIf drink1.Text = "Alien Brains" Then
        drink = "Alien Brains"
        cost = cost + 0.9
    End If

    ListBox1.Items.Add(String.Format(myformat, table, pizza, base, topping, drink))


    totallabel.Text = Format(cost, "currency")
End Sub
4

2 に答える 2

1

スタックオーバーフローへようこそ。デバッグの方法を学ぶ時が来ました。ここから始めましょう (確かに、この人はそれほど上手ではありません (彼はショートカット キーを使用することさえありませんが、誰でも理解できるほど簡単なレベルである必要があります)): httpコードをデバッグしたら、://www.youtube.com/watch?v=jxR_ngGIpQMに戻ります。

それまでの間、ここにいくつかの指針があります:

a) すべての If、ElseIf ステートメントの代わりに、Switch (または VB.Net では Select と呼ばれる) を使用します。たとえば、次のようになります。

If tableno.Text = "1" Then
table = "1"
ElseIf tableno.Text = "2" Then
table = "2"

はるかにうまく表現できます:

Select Case tableno.Text
Case Is = 1

Case Is < 5

Case Is < 10

Case Is > 9

End Select

table 変数がテキストボックスの Text プロパティを複製しているだけであることにまだ意味がないので、table という変数の代わりに tableno.Text を使用できます。この変数を他の関数に渡す場合は、次のようにコーディングします。

tableno = tableno.Text  ' 50 lines less of code!

b) これは別の例です。割り当てを 1 回だけ実行できる場合に If ステートメントで割り当てる方法を参照してください。

If drink1.Text = "Cola" Then
drink = "Cola"
cost = cost + 0.9
ElseIf drink1.Text = "Fruit Punch" Then
drink = "Fruit Punch"

If Else ステートメントの最後にある 1 行で実行する方がはるかに簡単です。たとえば、次のようになります。

drink = drink1.Text

c) 値 (価格、製品名など) をハードコーディングしないでください。値をデータベースまたはテキスト ファイルに保存します。

d) ブール条件をテストする場合は、true に等しいかどうかをテストする必要はありません。例えば

If cheese3.Checked Then
于 2012-04-11T05:51:36.407 に答える
0

C# をスイッチ ケースで使用してみてください。コードが読みやすくなります。私が理解していない限り、コストはピザの合計ではありません。ピザ チェックの後、コードは cost+=price ではなく cost=pizzaprice になります。

また、code.Pizzaone の順序を編集し、その後に base1、topping 1、drink1 など、および ListBox.Add を追加します。次に、pizza2、pizza3 などに対して同じ操作を行い、その後に listbox.add を追加します。

于 2012-04-11T02:22:11.527 に答える