Block of Code

Practical Examples for Programmers

  • Home
  • C++
  • Java
  • Visual Basic
  • Discrete Math
  • Ask a Question

Restaurant Menu

In Visual Basic, write a program to place an order from the restaurant menu in the table below. Use the form in the figure below, and write the program so that each group box is invisible and becomes visible only when its corresponding check box is checked. After the button is clicked, the cost of the meal should be calculated. (Note: The Checked property  of the first radio button in each group should be set to True in its Properties window. This guarantees that a selection is made in each visible group box. Of course, when the cost of the meal is calculated, only the visible group boxes should be considered.) See the figure below for an example of what the program might look like at run time.

Restaurant Menu

Suggested Control Names and Attributes:

Name Property Text Property Container Control Type Notes
 frmMenu Menu N/A Form Holds Controls
 chkBurgers Burgers frmMenu CheckBox Box to choose burgers
 chkFries Fries frmMenu CheckBox Box to choose fries
 chkDrinks Drinks frmMenu CheckBox Box to choose drinks
 grpBurgers Choices for Burgers frmMenu GroupBox Holds burger choice buttons
 grpFries Choices for Fries frmMenu GroupBox Holds fries choice buttons
 grpDrinks Choices for Drinks frmMenu GroupBox Holds drink choice buttons
 radRegular Regular (4.19) grpBurgers RadioButton Choose regular burger
 radCheese w/ Cheese (4.79) grpBurgers RadioButton Choose burger with cheese
 radBacon w/ Bacon (4.79)  grpBurgers RadioButton Choose burger with bacon
 radBoth w/ Bacon and Cheese (5.39) grpBurgers RadioButton Choose burger with bacon and cheese
 radSmall Small (2.39) grpFries RadioButton Choose small fries
 radMedium Medium (3.09) grpFries RadioButton Choose medium fries
 radLarge Large (4.99) grpFries RadioButton Choose large fries
 radSoda Soda (1.69) grpDrinks RadioButton Choose soda
 radWater Bottled Water (1.49) grpDrinks Radio Button Choose water
 btnCompute Compute Cost of Meal frmMenu Button Trigger event to display total cost
 txtCompute N/A  frmMenu TextBox Displays total cost

Hints:

  • Be sure to place the control items in their appropriate containers according to the table above.  For example, chkBurgers is only contained in the frmMenu.  However, radCheese is contained in grpBurgers, which is contained in frmMenu.
  • The the program starts running, the group boxes for burgers, fries and drinks should be invisible.  To change them to visible when the boxes are checked, double click on the CheckBox in design mode.  Code for a sub routine CheckChanged will populate.  Edit the visible property of the appropriate group box.

Write the Code:

' Project: Restaurant Menu
' Description:  Simulates a burger shop from user input.  
'    User decides from a menu of burgers, fries and a drink
'    Total cost is calculated and output to the screen with proper formatting

Public Class frmMenu
    ' declare global variables
    Dim totalCost As Double = 0
    Dim burgerCost As Double = 0
    Dim friesCost As Double = 0
    Dim drinkCost As Double = 0

    ' Make menu items visible when boxes are checked
    Private Sub chkBurgers_CheckedChanged(sender As Object, e As EventArgs) Handles chkBurgers.CheckedChanged
        If chkBurgers.Checked = True Then
            grpBurgers.Visible = True
        Else
            grpBurgers.Visible = False
        End If
    End Sub

    Private Sub chkFries_CheckedChanged(sender As Object, e As EventArgs) Handles chkFries.CheckedChanged
        If chkFries.Checked = True Then
            grpFries.Visible = True
        Else
            grpFries.Visible = False
        End If
    End Sub

    Private Sub chkDrinks_CheckedChanged(sender As Object, e As EventArgs) Handles chkDrinks.CheckedChanged
        If chkDrinks.Checked = True Then
            grpDrinks.Visible = True
        Else
            grpDrinks.Visible = False
        End If
    End Sub

    ' Calculate total cost of order
    Private Sub btnCompute_Click(sender As Object, e As EventArgs) Handles btnCompute.Click
        totalCost = 0
        If chkBurgers.Checked = True Then
            If radRegular.Checked = True Then
                burgerCost = 4.19
            ElseIf (radCheese.Checked = True) Or (radBacon.Checked = True) Then
                burgerCost = 4.79
            ElseIf (radBoth.Checked = True) Then
                burgerCost = 5.39
            End If
            totalCost += burgerCost
        End If

        If chkFries.Checked = True Then
            If radSmall.Checked = True Then
                friesCost = 2.39
            ElseIf (radMedium.Checked = True) Then
                friesCost = 3.09
            ElseIf (radLarge.Checked = True) Then
                friesCost = 4.99
            End If
            totalCost += friesCost
        End If

        If chkDrinks.Checked = True Then
            If radSoda.Checked = True Then
                drinkCost = 1.69
            ElseIf radWater.Checked = True Then
                drinkCost = 1.49
            End If
            totalCost += drinkCost
        End If

        ' output cost of order
        txtCompute.Text = CStr(totalCost.ToString("C"))
    End Sub
End Class

Secondary Sidebar

This is the secondary sidebar

Copyright © 2025 · Metro Pro Theme on Genesis Framework · WordPress · Log in