Create an application that calculates and displays the total travel expenses for a buisness trip. The user must provide the following information
Number of days on the trip
Amount of airfare, if any
Amount of car rental fees, if any
Number of miles driven, if a private vehicle was used
Amount of parking fees, if any
Amount of Taxi charges, if any
Conference or seminar registration fees, if any
Lodging charges, per night
The company reimburses travel expenses according to the following policy:
$37.00 per day for meals
parking fees, up to $10.00 per day
Taxi charges up to $20.00 per day
Lodging charges up to $95.00 per day
If a private vehicle is used, $0.27 per mile driven
The application should calculate and display the following:
Total expenses incurred by the business person
The total allowable expenses for the trip
The excess that must be paid by the business person, if any
The amount saved by the business person if the expenses were under the total allowed
The application should have the following functions:
CalcMeals: Calculates and returns the amount reimbursed for meals
CalcMileage: Calculates and returns the amount reimbursed for mileage driven in a private vehicle
CalcParkingFees: Calculates and returns the amount reimbursed for parking fees.
CalcTaxiFees: Calculates and returns the amount reimbursed for taxi charges
CalcLodging: Calculates and returns the amount reimbursed for lodging.
CalcTotalReimbursement: Calculates and returns the total amount reimbursed
CalcUnallowed: Calculates and returns the total amount of expenses that are not allowable, if any. These are parking fees that exceed $10.00 per day, taxi charges that exceed $20.00 per day and lodging charges that exceed $95.00 per day.
CalcSaved: Calculates and returns the total amount of expenses under the allowable amount, if any. For example, the allowable amount for lodging is $95.00 per day. If a business person stayed in a hotel for $85.00 per day for five days, the savings would be $50.00.
Do not accept negative numbers for any dollar amount or for miles driven in a private vehicle. Do not accept numbers less than 1 for the number of days.
This is the code which I have written up:
Public Class Form1 Inherits System.Windows.Forms.Form Const decReMeals As Decimal = CDec(37.0) Const decReParkingFees As Decimal = CDec(10.0) Const decReTaxi As Decimal = CDec(20.0) Const decReLodge As Decimal = CDec(95.0) Const decReMiles As Decimal = CDec(0.27) Const decReTotal As Decimal = decReMeals + decReParkingFees + decReTaxi + decReLodge + decReMiles Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click Dim intNumberOfDays As Integer Dim decAirFare As Decimal Dim decCarRent As Decimal Dim decMiles As Decimal Dim decParkingFees As Decimal Dim decTaxi As Decimal Dim decSemReg As Decimal Dim decLodge As Decimal Dim decTotalInc As Decimal Try intNumberOfDays = CInt(CInt(txtDays.Text) >= 1) Catch ex As Exception MessageBox.Show("Number of days cannot be less than 1.") Return End Try Try decAirFare = CDec(CDec(txtAirfare.Text) >= 0) decCarRent = CDec(CDec(txtCar.Text) >= 0) decMiles = CDec(CDec(txtMiles.Text) >= 0) decParkingFees = CDec(CDec(txtParking.Text) >= 0) decTaxi = CDec(CDec(txtTaxi.Text) >= 0) decSemReg = CDec(CDec(txtConference.Text) >= 0) decLodge = CDec(CDec(txtLodging.Text) >= 0) Catch ex As Exception MessageBox.Show("Input amounts cannot be less than zero please enter a zero for any empty fields. Input Error") Return End Try decTotalInc = CDec(CDec(txtAirfare.Text) + CDec(txtCar.Text) + CDec(txtMiles.Text) + CDec(txtParking.Text) + CDec(txtTaxi.Text) + CDec(txtConference.Text) + CDec(txtLodging.Text)) lblTotalInc.Text = FormatCurrency(decTotalInc.ToString) CalcMeals() CalcMileage() CalcParkingFees() CalcTaxiFees() CalcLodging() CalcTotalReimbursement() CalcUnallowed() CalcSaved() End Sub Sub CalcMeals() Dim decMealsRe As Decimal decMealsRe = CDec(txtDays.Text) * decReMeals End Sub Sub CalcMileage() Dim decMilesRe As Decimal decMilesRe = CDec(txtMiles.Text) * decReMiles End Sub Sub CalcParkingFees() Dim decParkingFeesRe As Decimal decParkingFeesRe = CDec(txtParking.Text) - CDec(CDec(txtDays.Text) * decReParkingFees) End Sub Sub CalcTaxiFees() Dim decTaxiFeesRe As Decimal decTaxiFeesRe = CDec(txtTaxi.Text) - CDec(CDec(txtDays.Text) * decReTaxi) End Sub Sub CalcLodging() Dim decLodgingRe As Decimal decLodgingRe = CDec(txtLodging.Text) - CDec(CDec(txtDays.Text) * decReLodge) End Sub Sub CalcTotalReimbursement() Dim decTotalRe As Decimal Dim decMealsRe As Decimal Dim decMilesRe As Decimal Dim decParkingFeesRe As Decimal Dim decTaxiFeesRe As Decimal Dim decLodgingRe As Decimal CalcMeals() CalcMileage() CalcParkingFees() CalcTaxiFees() CalcLodging() decTotalRe = decMealsRe + decMilesRe + decParkingFeesRe + decTaxiFeesRe + decLodgingRe lblTotalInc.Text = FormatCurrency(decTotalRe.ToString) End Sub Sub CalcUnallowed() Dim decTotalExc As Decimal Dim decTotalInc As Decimal Dim decTotalRe As Decimal decTotalExc = decTotalInc - decTotalRe lblTotalExc.Text = FormatCurrency(decTotalExc.ToString) End Sub Sub CalcSaved() Dim decSaved As Decimal Dim decTotalAll As Decimal decSaved = decReTotal - decTotalAll lblSav.Text = FormatCurrency(decSaved.ToString) End Sub Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click 'Clears all the labels and textboxes txtDays.Clear() txtAirfare.Clear() txtCar.Clear() txtLodging.Clear() txtMiles.Clear() txtParking.Clear() txtTaxi.Clear() txtConference.Clear() lblAll.Text = String.Empty lblSav.Text = String.Empty lblExc.Text = String.Empty lblTotalInc.Text = String.Empty End Sub Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click 'Closes the application Me.Close() End Sub End Class
The problem is that it is not calculating right. I have also attached the VB file that includes the code as well as the form.
Any help would be greatly appreciated! Thank you !!!
MOD EDIT: When posting code...USE CODE TAGS!!!
This post has been edited by JackOfAllTrades: 20 June 2011 - 10:31 AM
Reason for edit:: Added code tags