! Takoma Park M.S.
! Jr-5
! Contest 1
! Daniel Chen
DO
! Input
INPUT PROMPT "Enter the location, start time, and end time for an employee: ":Location, StartTime$, EndTime$
! Changing Letter Times to Army Time and Changing to Numeric
! Starting Time
SELECT CASE ucase$(StartTime$)
CASE "1"
LET StartTime = 9
CASE "2"
LET StartTime = 9.5
CASE "3"
LET StartTime = 10
CASE "4"
LET StartTime = 10.5
CASE "5"
LET StartTime = 11
CASE "6"
LET StartTime = 11.5
CASE "7"
LET StartTime = 12
CASE "8"
LET StartTime = 12.5
CASE "9"
LET StartTime = 13
CASE "A"
LET StartTime = 13.5
CASE "B"
LET StartTime = 14
CASE "C"
LET StartTime = 14.5
CASE "D"
LET StartTime = 15
CASE "E"
LET StartTime = 15.5
CASE "F"
LET StartTime = 16
CASE "G"
LET StartTime = 16.5
CASE "H"
LET StartTime = 17
END SELECT
! Ending Time
SELECT CASE ucase$(EndTime$)
CASE "1"
LET EndTime = 9
CASE "2"
LET EndTime = 9.5
CASE "3"
LET EndTime = 10
CASE "4"
LET EndTime = 10.5
CASE "5"
LET EndTime = 11
CASE "6"
LET EndTime = 11.5
CASE "7"
LET EndTime = 12
CASE "8"
LET EndTime = 12.5
CASE "9"
LET EndTime = 13
CASE "A"
LET EndTime = 13.5
CASE "B"
LET EndTime = 14
CASE "C"
LET EndTime = 14.5
CASE "D"
LET EndTime = 15
CASE "E"
LET EndTime = 15.5
CASE "F"
LET EndTime = 16
CASE "G"
LET EndTime = 16.5
CASE "H"
LET EndTime = 17
END SELECT
IF Location >= 1 AND Location <= 9 THEN
! Calculating Persons Daily Pay and the Total Pay
LET DailyPay = 10 * (EndTime - StartTime)
LET TotalPay = TotalPay + DailyPay
ELSEIF Location >= 10 AND Location <= 19 THEN
! Calculating Persons Daily Pay and the Total Pay
LET DailyPay = 8 * (EndTime - StartTime)
! For those who worked over 4 hours
IF (EndTime - StartTime) > 4 THEN LET DailyPay = DailyPay + 4 * ((EndTime - StartTime) - 4)
LET TotalPay = TotalPay + DailyPay
ELSEIF Location >= 20 AND Location <= 29 THEN
! Calculating Persons Daily Pay and the Total Pay
LET DailyPay = 12 * ((EndTime - StartTime))
! For those who worked over 4 hours
IF (EndTime - StartTime) > 4 THEN LET DailyPay = DailyPay + 12 * ((EndTime - StartTime) - 4)
LET TotalPay = TotalPay + DailyPay
END IF
! Rounding Daily Pay
LET DailyPay = Round(DailyPay, 2)
! Printing
PRINT "The daily pay for the employee is: ";
PRINT USING "$$$$.##":DailyPay
INPUT PROMPT "Run again (y/n)? ": Run$
! Error Checking
DO WHILE lcase$(Run$) <> "y" AND lcase$(Run$) <> "n"
INPUT PROMPT "Invalid. Run again (y/n)? ": Run$
LOOP
PRINT "-------------------------------------------------------------"
LOOP UNTIL lcase$(Run$) = "n"
! Printing Total
LET TotalPay = Round(TotalPay, 2)
PRINT "The total of the daily pay amounts is: ";
PRINT USING "$$$$.##":TotalPay
END