В программе, над которой я работаю для своего класса Visual Basic, я должен написать программу, которая рассчитает количество калорий в рецепте.Расчеты в 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. – Plutonix