Por que recebo um subscrito fora do intervalo nesta linha?
LET TotIncome = TotIncome + AnIncome(N) ' total de Calc
Não consigo descobrir por que e também, gostaria de imprimir fora o CalcAverage. Não consigo descobrir o que colocar. Qualquer ajuda é bem-vinda. Obrigado!
Meu código:
DIM IDNum (1 a 14), AnIncome (1 a 14), NumPersons (1-14), PovertyLevel (1-14), TotIncome (1 a 14)
GOSUB InitializeVariables
GOSUB LoadTables
GOSUB CalcPoverty
GOSUB CalcAvg
InitializeVariables:
LET TotIncome = TotIncome + AnIncome(N) ' total de Calc
LET TotBelowPov = TotBelowPov + BelowPov(N) ' Calc total abaixo pov
LET AveIncome = TotIncome / 14 ' rendimento médio de Calc
LET PercentBelowPov = TotBelowPov / 14 100 ' Calc % abaixo do pov
Deixe AboveAve(N) = 48
Deixe PageCt = 0
Deixe IDNum = 0
Deixe NumPersons = 0
PRINT $ T1 = "pesquisa de renda página # #"
DEIXE H1$ = ""
PRINT $ H2 = "Número de identificação número de renda anual das pessoas"
PRINT $ D1 = "# # # $#, # # #. # # #"
PRINT $ ST = "/ \ # SUBTOTAL"
PRINT $ TL = "# TOTAL"
Deixe MaxLines = 30
RETORNO
Ler números na matriz
LoadTables:
PARA N = 1 A 14
LER IDNum(N), AnIncome(N), NumPersons(N)
SEGUINTE N
DADOS 2497, 12.500, 2
DADOS 3323, 13.00, 5
DADOS 4521, 18.210, 4
DADOS 6789, 8.000, 2
DADOS 5476, 6.000, 1
DADOS 4423, 16.400, 3
DADOS 6587, 25.000, 4
DADOS 3221, 10.500, 4
DADOS 5555, 15.000, 2
DADOS 0085, 19.700, 3
DADOS 3097, 20.000, 8
DADOS 4480, 23.400, 5
DADOS 0265, 19.700, 2
DADOS 8901, 13.000, 3
CalcPoverty:
SE NumPersons(N)<= 2
PovertyLevel(N) = 8000
ELSEIF NumPersons(N) > 2
PovertyLevel(N) = 8000 + (2000 (NumPersons(N) - 2))
END IF
SE AnIncome(N)< povertyLevel(n)
BelowPov(N) = 1
OUTRA COISA
BelowPov(N) = 0
END IF
RETORNO
CalcAvg:
PARA N = 1 A 14
SE AnIncome(N) > AveIncome, em seguida,
AboveAve(N) = 1
OUTRA COISA
AboveAve(N) = 0
END IF
SEGUINTE N
RETORNO
Como resolver o problema com AnIncome que seria a adição de um DIM como INTERGER para obter a média de renda?