Post by Joeowens on Oct 26, 2002 17:44:18 GMT
Im trying to create a program that will read from a file and then sort and take the averages of the numbers in the file and cant seem to get the program to run at all...I was wondering if anyone could help.
The file is--
A 22
A 33
A 27
A 44
A 52
A 61
A 24
A 35
B 44
B 47
B 63
B 28
B 30
B 42
B 45
B 29
C 32
C 28
C 31
C 56
The program I have so far is-
CLS
GOSUB A100.Start
IF NOT EOF(1) THEN
GOSUB B100.Process
END IF
GOSUB C100.Wrap
END
REM ***********
REM Start
REM ***********
A100.Start:
Age = 0
CLS
OPEN "A:\EmpEx.txt" FOR INPUT AS #1
GOSUB A200.Initialize.Report
GOSUB M100.Headings
RETURN
REM *********
REM Initialize
REM *********
A200.Initialize.Report:
Aageunder40 = 0
ac40 = 0
Aageover40 = 0
bc40 = 0
Bageunder40 = 0
cc40 = 0
Bageover40 = 0
dc40 = 0
Cageunder40 = 0
ec40 = 0
Cageover40 = 0
fc40 = 0
RETURN
REM *********
REM *
REM *********
B100.Process:
INPUT #1, deptno$, Age
dep$ = deptno$
GOSUB B200.Process
DO WHILE EOF(1)
INPUT #1, deptno$, Age
GOSUB B200.Process
LOOP
RETURN
REM ******
REM Process
REM ******
B200.Process:
IF dep$ = "A" THEN
IF Age < 40 THEN
Aageunder40 = Aageunder40 + Age
ac40 = AcounterB40 + 1
END IF
IF Age >= 40 THEN
Aageover40 = Aageover40 + Age
bc40 = AcounterA40 + 1
END IF
END IF
IF dep$ = "B" THEN
IF Age < 40 THEN
Bageunder40 = Bageunder40 + Age
cc40 = AcounterC40 + 1
END IF
IF Age >= 40 THEN
Bageover40 = Bageover40 + Age
dc40 = AcounterD40 + 1
END IF
END IF
IF dep$ = "C" THEN
IF Age < 40 THEN
Cageunder40 = Cageunder40 + Age
ec40 = AcounterE40 + 1
END IF
IF Age >= 40 THEN
Cageover40 = Cageover40 + Age
fc40 = AcounterF40 + 1
END IF
END IF
GOSUB B210.Dep.break
RETURN
REM ************
REM ue
REM **********
B210.Dep.break:
a1 = Aageunder40 / AcounterB40
a2 = Aageover40 / AcounterA40
b1 = Bageunder40 / BcounterC40
b2 = Bageover40 / BcounterD40
c1 = Cageunder40 / CcounterE40
c2 = Cageover40 / CcounterF40
RETURN
REM ******
REM **
REM *****
C100.Wrap:
PRINT a1
PRINT a2
RETURN
M100.Headings:
And I cant seem to get an array to work with the outputed ages
The file is--
A 22
A 33
A 27
A 44
A 52
A 61
A 24
A 35
B 44
B 47
B 63
B 28
B 30
B 42
B 45
B 29
C 32
C 28
C 31
C 56
The program I have so far is-
CLS
GOSUB A100.Start
IF NOT EOF(1) THEN
GOSUB B100.Process
END IF
GOSUB C100.Wrap
END
REM ***********
REM Start
REM ***********
A100.Start:
Age = 0
CLS
OPEN "A:\EmpEx.txt" FOR INPUT AS #1
GOSUB A200.Initialize.Report
GOSUB M100.Headings
RETURN
REM *********
REM Initialize
REM *********
A200.Initialize.Report:
Aageunder40 = 0
ac40 = 0
Aageover40 = 0
bc40 = 0
Bageunder40 = 0
cc40 = 0
Bageover40 = 0
dc40 = 0
Cageunder40 = 0
ec40 = 0
Cageover40 = 0
fc40 = 0
RETURN
REM *********
REM *
REM *********
B100.Process:
INPUT #1, deptno$, Age
dep$ = deptno$
GOSUB B200.Process
DO WHILE EOF(1)
INPUT #1, deptno$, Age
GOSUB B200.Process
LOOP
RETURN
REM ******
REM Process
REM ******
B200.Process:
IF dep$ = "A" THEN
IF Age < 40 THEN
Aageunder40 = Aageunder40 + Age
ac40 = AcounterB40 + 1
END IF
IF Age >= 40 THEN
Aageover40 = Aageover40 + Age
bc40 = AcounterA40 + 1
END IF
END IF
IF dep$ = "B" THEN
IF Age < 40 THEN
Bageunder40 = Bageunder40 + Age
cc40 = AcounterC40 + 1
END IF
IF Age >= 40 THEN
Bageover40 = Bageover40 + Age
dc40 = AcounterD40 + 1
END IF
END IF
IF dep$ = "C" THEN
IF Age < 40 THEN
Cageunder40 = Cageunder40 + Age
ec40 = AcounterE40 + 1
END IF
IF Age >= 40 THEN
Cageover40 = Cageover40 + Age
fc40 = AcounterF40 + 1
END IF
END IF
GOSUB B210.Dep.break
RETURN
REM ************
REM ue
REM **********
B210.Dep.break:
a1 = Aageunder40 / AcounterB40
a2 = Aageover40 / AcounterA40
b1 = Bageunder40 / BcounterC40
b2 = Bageover40 / BcounterD40
c1 = Cageunder40 / CcounterE40
c2 = Cageover40 / CcounterF40
RETURN
REM ******
REM **
REM *****
C100.Wrap:
PRINT a1
PRINT a2
RETURN
M100.Headings:
And I cant seem to get an array to work with the outputed ages