Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Chapter Four sample
- 'Ram raghuraman
- 'Program No. 4.6
- 'Prints a list of attendees at a family reunion, showing name, age,
- 'average age, and number of persons in five age cohorts.
- ' PROGRAM VARIABLES
- '
- ' Nam$ NAME OF ATTENDEE
- ' Age AGE OF ATTENDEE
- ' Cohort1 AGE GROUP < 20
- ' Cohort2 AGE GROUP 20 – 39
- ' Cohort3 AGE GROUP 40 – 59
- ' Cohort4 AGE GROUP 60 – 79
- ' Cohort5 AGE GROUP > 79
- ' TotalAge TOTAL OF AGES OF ATTENDEES
- ' TotalAtt TOTAL NUMBER OF ATTENDEES
- ' AverAge AVERAGE AGE OF ATTENDEES
- ' Head1$, Head2$ PRINT IMAGES
- ' Head3$, R$, W$,
- ' C$
- '************************** PROGRAM MAINLINE ***********************
- GOSUB InitializePrintImages
- GOSUB PrintHeadings
- GOSUB ProcessDetail
- GOSUB PrintSummary
- END
- '************************* INITIALIZE PRINT IMAGES *******************
- InitializePrintImages:
- LET HEAD1$ = " FOX FAMILY REUNION"
- LET HEAD2$ = " Attendance - 1985"
- LET HEAD3$ = " NAME AGE"
- LET R$ = " \ \ ###"
- LET W$ = " AGE GROUPS NUMBER IN GROUP"
- LET C$ = " AVERAGE AGE OF ATTENDEES ##"
- RETURN
- '*************************** PRINT HEADINGS ************************
- PrintHeadings:
- PRINT HEAD1$
- PRINT HEAD2$
- PRINT
- PRINT
- PRINT HEAD3$
- PRINT
- RETURN
- '************************* PROCESS DETAIL ***************************
- ProcessDetail:
- CLS
- GOSUB InputAttendee
- DO UNTIL UCASE$(Nam$) = "END"
- INPUT "ENTER AGE: ", Age
- GOSUB CalculateTotals
- GOSUB PrintDetailLine
- GOSUB InputAttendee
- LOOP
- RETURN
- '************************* INPUT ATTENDEE **************************
- InputAttendee:
- INPUT "ENTER NAME OF ATTENDEE (END to Quit):", Nam$
- RETURN
- '************************ PRINT SUMMARY ****************************
- PrintSummary:
- GOSUB CalculateAverage
- PRINT
- PRINT USING R$; "NUMBER ATTENDING"; TotalAtt
- PRINT
- PRINT
- PRINT W$
- PRINT
- PRINT USING R$; "UNDER 20"; Cohort1
- PRINT USING R$; "20 - 39"; Cohort2
- PRINT USING R$; "40 - 59"; Cohort3
- PRINT USING R$; "60 - 79"; Cohort4
- PRINT USING R$; "OVER 79"; Cohort5
- PRINT
- PRINT USING C$; AverAge
- RETURN
- '********************** CALCULATE TOTAL ****************************
- CalculateTotals:
- LET TotalAtt = TotalAtt + 1
- LET TotalAge = TotalAge + Age
- IF Age < 20 THEN 'Age less than 20
- LET Cohort1 = Cohort1 + 1
- ELSEIF Age > 19 AND Age < 40 THEN 'Age 20-39
- LET Cohort2 = Cohort2 + 1
- ELSEIF Age > 39 AND Age < 60 THEN 'Age 40-59
- LET Cohort3 = Cohort3 + 1
- ELSEIF Age > 59 AND Age < 80 THEN 'Age 60-79
- LET Cohort4 = Cohort4 + 1
- ELSE
- LET Cohort5 = Cohort5 + 1 'Age 80 and over
- END IF
- RETURN
- '**************************** CALCULATE AVERAGE *******************
- CalculateAverage:
- LET AverAge = TotalAge / TotalAtt
- RETURN
- '********************** PRINT DETAIL LINE ****************************
- PrintDetailLine:
- PRINT USING R$; Nam$; Age
- RETURN
- '************************* END OF PROGRAM *************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement