Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Public Class frmMain Private Sub btnCalc_Click(ByVal sender As System.Object, By

ID: 3630784 • Letter: P

Question

Public Class frmMain
Private Sub btnCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalc.Click
'Get input
Dim sngNumSpoolsStock, sngSpoolsOrdered, sngSpoolsReady, sngShippingCharges, sngCharges As Single
Dim sngBackOrdered As Single
Dim sngSpoolCost As Single = 100
If IsNumeric(txtNumber.Text) = False Then
MessageBox.Show("Input must be numeric.")
Return
End If
sngSpoolsOrdered = CSng(txtNumber.Text)
If sngSpoolsOrdered < 1 Then
MessageBox.Show("Order needs to be larger than one.")
Else
GetInStock()

'intReady = ReadyToShip(intSpoolsInStock, intSpoolsOrdered)
'lblReadyShip.Text = intReady.ToString()
lblReadyO.Text = ReadyToShip(sngNumSpoolsStock, sngSpoolsOrdered).ToString()
sngBackOrdered = BackOrdered(sngNumSpoolsStock, sngSpoolsOrdered)
lblBackO.Text = sngBackOrdered.ToString()
sngShippingCharges = ShippingCharges(sngSpoolsReady, sngShippingCharges)
lblShippingO.Text = sngShippingCharges.ToString("c")
lblTotalO.Text = sngCharges.ToString("c")
End If
End Sub
'Get InStock Function
Function GetInStock() As Single
Dim sngNumSpoolsStock As Single
sngNumSpoolsStock = InputBox("Enter the number of spools in stock.")
Return sngNumSpoolsStock
End Function

'Ready to ship Function
Function ReadyToShip(ByVal sngNumSpoolsStock As Single, ByVal sngSpoolsOrdered As Single) As Single
Dim sngSpoolsReady As Single
If sngNumSpoolsStock <= sngSpoolsOrdered Then
sngSpoolsReady = sngNumSpoolsStock
ElseIf sngNumSpoolsStock >= sngSpoolsOrdered Then
sngSpoolsReady = sngSpoolsOrdered
End If
Return sngSpoolsReady
End Function

'BackOrdered Function
Function BackOrdered(ByVal sngNumSpoolsStock As Single, ByVal sngSpoolsOrdered As Single) As Single
Dim sngBackOrdered As Single
sngBackOrdered = sngSpoolsOrdered - sngNumSpoolsStock
If sngBackOrdered < 0 Then
sngBackOrdered = 0
End If
Return sngBackOrdered
End Function

'ShippingCharges Function
Function ShippingCharges(ByVal sngSpoolsReady As Single, ByVal sngShippingCharges As Single) As Single
Dim sngCharges As Single
If chkRush.Checked = True Then
sngCharges = sngSpoolsReady * sngShippingCharges * 15
Else
sngCharges = sngSpoolsReady * sngShippingCharges * 10
End If
Return sngCharges
End Function

Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Me.Close() 'Closes the program
End Sub

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
'Clears the Form
txtNumber.Clear()

End Sub

End Class

Explanation / Answer

Public

 

Class

Form1

 

Private Sub btnCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

btnCalc.Click

 

'Get input

 

Dim sngNumSpoolsStock As

Single

 

Dim sngSpoolsOrdered As

Single

 

Dim sngSpoolsReady As

Single

 

Dim sngShippingCharges As

Single

 

Dim sngCharges As

Single

 

Dim sngBackOrdered As

Single

 

Dim sngSpoolCost As Single

= 100

 

If IsNumeric(txtNumber.Text) = False

Then

 

MessageBox.Show("Input must be numeric."

)

 

Return

 

End

If

sngSpoolsOrdered =

CInt

(txtNumber.Text)

 

If sngSpoolsOrdered < 1

Then

 

MessageBox.Show("Order needs to be larger than one."

)

 

Else

sngNumSpoolsStock = GetInStock()

 

'intReady = ReadyToShip(intSpoolsInStock, intSpoolsOrdered)

 

'lblReadyShip.Text = intReady.ToString()

sngSpoolsReady = ReadyToShip(sngNumSpoolsStock, sngSpoolsOrdered)

lblReadyO.Text = sngSpoolsReady.ToString()

sngBackOrdered = BackOrdered(sngNumSpoolsStock, sngSpoolsOrdered)

lblBackO.Text = sngBackOrdered.ToString()

sngShippingCharges = ShippingCharges(sngSpoolsOrdered)

lblShippingO.Text = sngShippingCharges.ToString(

"c"

)

sngCharges = TotalCharges(sngSpoolsOrdered, sngSpoolCost)

lblTotalO.Text = sngCharges.ToString(

"c"

)

 

End

If

 

End

Sub

 

'Get InStock Function

 

Function GetInStock() As

Single

 

Dim sngNumSpoolsStock As

Single

sngNumSpoolsStock = InputBox(

"Enter the number of spools in stock."

)

 

Return

sngNumSpoolsStock

 

End

Function

 

'Ready to ship Function

 

Function ReadyToShip(ByVal sngNumSpoolsStock As Single, ByVal sngSpoolsOrdered As Single) As

Single

 

Dim sngSpoolsReady As

Single

 

If sngNumSpoolsStock <= sngSpoolsOrdered

Then

sngSpoolsReady = sngNumSpoolsStock

 

ElseIf sngNumSpoolsStock >= sngSpoolsOrdered

Then

sngSpoolsReady = sngSpoolsOrdered

 

End

If

 

Return

sngSpoolsReady

 

End

Function

 

'BackOrdered Function

 

Function BackOrdered(ByVal sngNumSpoolsStock As Single, ByVal sngSpoolsOrdered As Single) As

Single

 

Dim sngBackOrdered As

Single

sngBackOrdered = sngSpoolsOrdered - sngNumSpoolsStock

 

If sngBackOrdered < 0

Then

sngBackOrdered = 0

 

End

If

 

Return

sngBackOrdered

 

End

Function

 

'ShippingCharges Function

 

Function ShippingCharges(ByVal sngSpoolsReady As Single) As

Single

 

Dim sngCharges As

Single

 

If chkRush.Checked = True

Then

sngCharges = sngSpoolsReady * 15

 

Else

sngCharges = sngSpoolsReady * 10

 

End

If

 

Return

sngCharges

 

End

Function

 

Function TotalCharges(ByVal sngSpoolsReady As Single, ByVal sngSpoolCost As Single) As

Single

 

Dim sngCharges As

Single

 

If chkRush.Checked = True

Then

sngCharges = sngSpoolsReady * (sngSpoolCost + 15)

 

Else

sngCharges = sngSpoolsReady * (sngSpoolCost + 10)

 

End

If

 

Return

sngCharges

 

End

Function

 

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote