【发布时间】:2014-02-19 02:10:48
【问题描述】:
在我正在为我的 Visual Basic 课程编写的程序中,我将编写一个程序来计算食谱中有多少卡路里。
我的表单有 2 个列表框(lstIngredients 和 lstRecipe)和一个数量文本框(txtQuantity),以及一个计算卡路里的按钮(btnCalculate)。还有其他事情,但我列出的这些是唯一与这个问题相关的事情。
我已经编写了代码以将具有适当数量的选定项目添加到食谱列表框中,但我对如何计算卡路里感到困惑。
成分列表框中有以下项目:鸡蛋(每个)、面粉(杯)、牛奶(杯)、糖(杯)和黄油(汤匙)。根据说明,我们获得了这些物品的卡路里:1 个鸡蛋 = 72 卡路里,1 杯面粉 = 455 卡路里,1 杯牛奶 = 86 卡路里,1 杯糖 = 774 卡路里,1 汤匙黄油 = 102 卡路里。当用户单击“计算卡路里”按钮时,程序应该使用这些值、添加到食谱列表的项目及其数量来计算该食谱中的卡路里总数。
我了解在此进行的数学运算,如果食谱需要 2 个鸡蛋、3 杯面粉和 2 杯牛奶,我必须将每种成分的卡路里乘以数量,然后添加所有这些值加在一起就得到了食谱的总卡路里。但我不知道如何将热量值与单个项目联系起来。
这是我目前编写的代码。
Public Class Form1
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
Dim i As Integer = lstIngredients.SelectedIndex
Dim Quantity As Integer
If Trim(txtQuantity.Text = "") Then
Quantity = 1
Else
Quantity = Me.txtQuantity.Text
End If
Dim intCount As Integer = 0
While intCount < Quantity
lstRecipe.Items.Add(lstIngredients.Text)
intCount += 1
End While
End Sub
Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
lstRecipe.Items.Clear()
txtQuantity.Clear()
txtAnswer.Clear()
End Sub
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Dim dblCalories As Double
If txtQuantity.Text = "" Then
txtAnswer.Text = "0 Calories"
End If
End Sub
End Class
另外,这是我可以使用数据集的实例吗?我以前从未使用过它们,所以不知道它是如何工作的,但如果它能让这个更简单,我完全赞成哈。
【问题讨论】:
-
对名称和卡路里使用一个类,并可能覆盖 ToString。这样,每种成分都可以将相关信息保存在一起,也可以存储在 LstBox 中。
标签: vb.net