Can you please review my homework?
Posted: Mon Oct 01, 2012 10:22 pm
Hi Friends,
I am a student, preparing for campus and doing assignment for campus. Please help me on this question. Following is my question.
Write a program to summarize acceidental records to obtain the following information:
A) The percentage of drivers under 25
B) The percentage of drivers who are female
C) The percentage of drivers from New York
There is one disk of record for each driver involved in accident in past year
1-4 Driver number
5-6 State Code(01 for New York)
7-12 Birth date(mmyyyy)
13 sex(M for male, F for female)
Results should be displayed on a screen as follows:
% of drivers under 25 99.99 who are female inm mexico
% of drivers greater 47 who are male 99.99 in New York
% of drivers from New York 99.99 who are under 25
-------------------------
And this is the program i have wrote: Please review and debug it and let me know the same. Please help me on this.
I am a student, preparing for campus and doing assignment for campus. Please help me on this question. Following is my question.
Write a program to summarize acceidental records to obtain the following information:
A) The percentage of drivers under 25
B) The percentage of drivers who are female
C) The percentage of drivers from New York
There is one disk of record for each driver involved in accident in past year
1-4 Driver number
5-6 State Code(01 for New York)
7-12 Birth date(mmyyyy)
13 sex(M for male, F for female)
Results should be displayed on a screen as follows:
% of drivers under 25 99.99 who are female inm mexico
% of drivers greater 47 who are male 99.99 in New York
% of drivers from New York 99.99 who are under 25
-------------------------
And this is the program i have wrote: Please review and debug it and let me know the same. Please help me on this.
IDENTIFICATION DIVISION.
PROGRAM-ID. ACCREC.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT AR ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
SELECT OAR ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD AR
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID "AA.DAT".
01 ARREC.
02 DRIVERNUMBER PIC 9(4).
02 STATECODE PIC 9(2).
02 CURYEAR PIC 9(4).
02 BIRTHYEAR PIC 9(4).
02 SEX PIC X(1).
02 N PIC 9(1).
FD OAR
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID "OAA.DAT".
01 OARREC PIC X(80).
WORKING-STORAGE SECTION.
01 AGE PIC 9(2).
01 I PIC 9(2).
01 COUNTONE 9(1).
01 PERCENTONE 9(2).V99.
01 COUNTTWO 9(1).
01 PERCENTTWO 9(2).V99.
01 COUNTTHREE 9(1).
01 PERCENTTHREE 9(2).V99.
01 H1.
02 F PIC X(25) VALUE SPACES.
02 F PIC X(30) VALUE "ACCIDENTAL RECORDS".
01 H2.
02 F PIC X(80) VALUE SPACES.
01 H3.
02 F PIC X(25) VALUE SPACES.
02 F PIC X(35) VALUE "% OF DRIVERS UNDER 25" 99.99 "WHO ARE FEMALE IN MEXICO".
02 F PIC X(25) VALUE SPACES.
02 F PIC X(35) VALUE "% OF DRIVERS GREATER THAN 47 WHO ARE MALE" 99.99 "IN NEWYORK".
02 F PIC X(25) VALUE SPACES.
02 F PIC X(35) VALUE "% OF DRIVERS FROM NEWYORK" 99.99 "WHO ARE UNDER 25".
01 H4.
02 F PIC X(25) VALUE SPACES.
02 OCOUNTONE Z(1).
02 OPERCENTONE Z(2).ZZ.
02 OCOUNTTWO Z(1).
02 OPERCENTTWO Z(2).ZZ.
02 OCOUNTONE Z(1).
02 OPERCENTTHREE Z(2).ZZ.
PROCEDURE DIVISION.
P1.
OPEN INPUT AR TO OUTPUT OAR.
P2.
WRITE OAREC FROM H1.
WRITE OAREC FROM H2.
WRITE OAREC FROM H3.
WRITE OAREC FROM H4.
WRITE OAREC FROM H2.
P3.
READ AR AT END GO TO P6.
P4.
COMPUTE AGE = CURYEAR - BIRTHYEAR.
P5.
ACCEPT COUNTONE = 0.
PERFORM P6 VARYING I FROM 1 BY 1 UNTIL I < N
IF ( AGE < 25 AND SEX = = ' F ' AND STATECODE = 02 )
COMPUTE I = I + 1.
P6.
COMPUTE PERCENTONE = ( COUNTONE / N ) * 100.
P7.
ACCEPT COUNTTWO= 0.
PERFORM P8 VARYING I FROM 1 BY 1 UNTIL I < N
IF ( AGE > 47 AND SEX = ' M ' AND STATECODE = 01 )
COMPUTE I = I + 1.
P8.
COMPUTE PERCENTTWO = ( COUNTTWO / N ) * 100.
P9.
ACCEPT COUNTTHREE = 0.
PERFORM P6 VARYING I FROM 1 BY 1 UNTIL I < N
IF ( AGE < 25 AND STATECODE= 01 )
COMPUTE I = I + 1.
P10.
COMPUTE PERCENTTHREE = ( COUNTTHREE / N ) * 100.
WRITE OARREC FROM H3.
P11.
WRITE OARREC FROM H2.
CLOSE AR OAR.
STOP RUN.
PROGRAM-ID. ACCREC.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT AR ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
SELECT OAR ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD AR
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID "AA.DAT".
01 ARREC.
02 DRIVERNUMBER PIC 9(4).
02 STATECODE PIC 9(2).
02 CURYEAR PIC 9(4).
02 BIRTHYEAR PIC 9(4).
02 SEX PIC X(1).
02 N PIC 9(1).
FD OAR
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID "OAA.DAT".
01 OARREC PIC X(80).
WORKING-STORAGE SECTION.
01 AGE PIC 9(2).
01 I PIC 9(2).
01 COUNTONE 9(1).
01 PERCENTONE 9(2).V99.
01 COUNTTWO 9(1).
01 PERCENTTWO 9(2).V99.
01 COUNTTHREE 9(1).
01 PERCENTTHREE 9(2).V99.
01 H1.
02 F PIC X(25) VALUE SPACES.
02 F PIC X(30) VALUE "ACCIDENTAL RECORDS".
01 H2.
02 F PIC X(80) VALUE SPACES.
01 H3.
02 F PIC X(25) VALUE SPACES.
02 F PIC X(35) VALUE "% OF DRIVERS UNDER 25" 99.99 "WHO ARE FEMALE IN MEXICO".
02 F PIC X(25) VALUE SPACES.
02 F PIC X(35) VALUE "% OF DRIVERS GREATER THAN 47 WHO ARE MALE" 99.99 "IN NEWYORK".
02 F PIC X(25) VALUE SPACES.
02 F PIC X(35) VALUE "% OF DRIVERS FROM NEWYORK" 99.99 "WHO ARE UNDER 25".
01 H4.
02 F PIC X(25) VALUE SPACES.
02 OCOUNTONE Z(1).
02 OPERCENTONE Z(2).ZZ.
02 OCOUNTTWO Z(1).
02 OPERCENTTWO Z(2).ZZ.
02 OCOUNTONE Z(1).
02 OPERCENTTHREE Z(2).ZZ.
PROCEDURE DIVISION.
P1.
OPEN INPUT AR TO OUTPUT OAR.
P2.
WRITE OAREC FROM H1.
WRITE OAREC FROM H2.
WRITE OAREC FROM H3.
WRITE OAREC FROM H4.
WRITE OAREC FROM H2.
P3.
READ AR AT END GO TO P6.
P4.
COMPUTE AGE = CURYEAR - BIRTHYEAR.
P5.
ACCEPT COUNTONE = 0.
PERFORM P6 VARYING I FROM 1 BY 1 UNTIL I < N
IF ( AGE < 25 AND SEX = = ' F ' AND STATECODE = 02 )
COMPUTE I = I + 1.
P6.
COMPUTE PERCENTONE = ( COUNTONE / N ) * 100.
P7.
ACCEPT COUNTTWO= 0.
PERFORM P8 VARYING I FROM 1 BY 1 UNTIL I < N
IF ( AGE > 47 AND SEX = ' M ' AND STATECODE = 01 )
COMPUTE I = I + 1.
P8.
COMPUTE PERCENTTWO = ( COUNTTWO / N ) * 100.
P9.
ACCEPT COUNTTHREE = 0.
PERFORM P6 VARYING I FROM 1 BY 1 UNTIL I < N
IF ( AGE < 25 AND STATECODE= 01 )
COMPUTE I = I + 1.
P10.
COMPUTE PERCENTTHREE = ( COUNTTHREE / N ) * 100.
WRITE OARREC FROM H3.
P11.
WRITE OARREC FROM H2.
CLOSE AR OAR.
STOP RUN.