Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class frmTravelPlanner
- Dim dailyExpensesCost(9) As Integer
- Dim dailyExpensesTitles(9) As String
- Dim numberOfExpenses As Integer = 0
- Dim costOfExpenses As Double
- Sub OutputUserInformation()
- lstOutput.Items.Add("Destination: " & txtDestination.Text)
- lstOutput.Items.Add("Budget: " & FormatCurrency(txtBudget.Text))
- lstOutput.Items.Add("Length of Trip: " & txtLengthOfTrip.Text & " days")
- lstOutput.Items.Add("accommodations: " & FormatCurrency(txtaccommodations.Text) * (txtLengthOfTrip.Text))
- lstOutput.Items.Add("Food and Drink: " & FormatCurrency(txtFoodAndDrink.Text) * (txtLengthOfTrip.Text))
- End Sub
- Sub EditDailyExpenses(ByRef dailyExpensesCost, ByRef dailyExpensesTitle)
- Dim yesOrNo As Integer
- Dim clearSection As Integer = 0
- For i = 0 To numberOfExpenses - 1
- yesOrNo = MsgBox("Would you like to change the " & dailyExpensesTitle(i) & " expense?", MsgBoxStyle.YesNo)
- If yesOrNo = vbYes Then
- lstDailyExpensesOutput.Items.RemoveAt(clearSection)
- dailyExpensesTitle(i) = InputBox("Please enter your revised expense. (i.e. gas, movies, car rental)")
- dailyExpensesCost(i) = InputBox("Please enter your revised budget for this expense.")
- lstDailyExpensesOutput.Items.Insert(clearSection, dailyExpensesTitle(i) & " " & FormatCurrency(dailyExpensesCost(i)) & "Per day; " & FormatCurrency((dailyExpensesCost(i)) * txtLengthOfTrip.Text) & " Per trip")
- End If
- clearSection += 1
- Next
- End Sub
- Function TotalCostOfTravel(ByVal travelCost, ByVal costOfExpenses)
- Dim costOfTrip As Double
- For i = 0 To numberOfExpenses
- costOfExpenses += dailyExpensesCost(i)
- Next
- costOfTrip = (costOfExpenses * txtLengthOfTrip.Text + CDbl(txtaccommodations.Text) * txtLengthOfTrip.Text + CDbl(txtFoodAndDrink.Text) * txtLengthOfTrip.Text) + travelCost
- Return costOfTrip
- End Function
- Sub OutputCostOfTravel(ByVal costOfTrip)
- Dim difference As Double
- MsgBox("Your estimated cost for the trip is " & FormatCurrency(costOfTrip) & ".")
- MsgBox("Your initial budget for the trip was " & FormatCurrency(txtBudget.Text & "."))
- difference = CDbl(txtBudget.Text) - costOfTrip
- If difference > 0 Then
- MsgBox("Your trip came in under budget and you had " & FormatCurrency(difference) & " left over.")
- ElseIf difference < 0 Then
- MsgBox("Your trip exceeds your initial budget by " & FormatCurrency(difference) & ". Please reveiw your budget")
- ElseIf difference = 0 Then
- MsgBox("Your trip is on budget with $0.00 left over.")
- End If
- End Sub
- Sub GetInputFromUser(ByRef dailyExpensesCost As Array, ByRef budget As Integer, ByRef lengthOfTrip As Integer,
- ByRef accommodations As Integer, ByRef foodAndDrink As Integer, ByRef numberOfExpenses As Integer, ByRef dailyExpensesTitle As Array)
- Dim stopNumber As Double
- Dim stopYesOrNo As Integer
- ' additional expense message box's
- stopYesOrNo = MsgBox("Do you have any additional expenses you want to list here? (i.e.; Car Rental, Souvenirs, Gas, Etc.)", MsgBoxStyle.YesNo)
- If stopYesOrNo = vbYes Then
- Do
- dailyExpensesTitle(numberOfExpenses) = CStr(InputBox("What is your first expense? (i.e. Gas, Car Rental, Souvenirs)"))
- dailyExpensesCost(numberOfExpenses) = InputBox("What is your daily budget for that expense? (i.e. 25, 35, 45, 55)")
- numberOfExpenses += 1
- lstDailyExpensesOutput.Items.Add(dailyExpensesTitle(numberOfExpenses - 1) & " " & FormatCurrency(dailyExpensesCost(numberOfExpenses - 1)) & " Per day; " & (FormatCurrency(dailyExpensesCost(numberOfExpenses - 1) * CDbl(txtLengthOfTrip.Text))) & " For whole trip")
- stopYesOrNo = MsgBox("Are you done?", MsgBoxStyle.YesNo)
- If stopYesOrNo = vbYes Then
- stopNumber = -1
- End If
- Loop Until (stopNumber = -1 Or numberOfExpenses = 10)
- End If
- End Sub
- Private Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click
- Dim transportationExpense As Double = txtTravelCost.Text
- Dim budget, lengthOfTrip, accommodations, foodAndDrink As Double
- 'clear for new entry
- lstDailyExpensesOutput.Items.Clear()
- lstOutput.Items.Clear()
- 'output
- OutputUserInformation()
- 'input
- GetInputFromUser(dailyExpensesCost, budget, lengthOfTrip, accommodations, foodAndDrink, numberOfExpenses, dailyExpensesTitles)
- OutputCostOfTravel(TotalCostOfTravel(transportationExpense, costOfExpenses))
- 'make edit buttons visible
- btnDailyExpense.Visible = True
- btnRecalculate.Visible = True
- End Sub
- Private Sub btnDailyExpense_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDailyExpense.Click
- EditDailyExpenses(dailyExpensesCost, dailyExpensesTitles)
- End Sub
- Private Sub btnRecalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRecalculate.Click
- Dim transportationExpense As Integer = txtTravelCost.Text
- OutputCostOfTravel(TotalCostOfTravel(transportationExpense, costOfExpenses))
- End Sub
- 'programmed by alexander magoon
- 'cis 115
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement