'#sec:Main '' demanda.bas '' 25/01/2002 bo=chr$(27)+"[1m" uo=chr$(27)+"[4m" ro=chr$(27)+"[7m" bf=chr$(27)+"[21m" uf=chr$(27)+"[24m" rf=chr$(27)+"[27m" pen on 10 dim mes(50) 11 DIM dem(50) 12 DIM CUA(5) 13 DIM MA(5) 14 DIM CES(5) 15 REM CARGA AUTOMATICA DE DEM.DAT 18 GOSUB 1600 20 cls:COLOR 9 30 PRINT bo+"DEMANDAS"+bf 40 PRINT 50 COLOR 9:PRINT "1-INGRESAR DATOS NUEVOS" 60 PRINT "2-LEER ARCHIVO" 70 PRINT "3-GRABAR ARCHIVO" 80 PRINT "4-BORRAR ARCHIVO" 90 PRINT "5-AGREGAR DEMANDA" 100 PRINT "6-CALCULAR DEM. FACTURAR" 110 PRINT "7-REVISAR DATOS EN MEM." 120 PRINT "8-EDITAR DATOS EN MEM." 120 COLOR 12:PRINT ro+ "9-SALIR"+rf 200 A$=INKEY$ 201 if not pen(0) then goto 204 202 x=pen(4):y=pen(5):a=int((y-11)/11):goto 210 204 IF A$="" THEN GOTO 200 205 A=VAL(A$) 210 IF A=1 THEN GOTO 300 220 IF A=2 THEN GOTO 1100 230 IF A=3 THEN GOTO 1000 240 IF A=4 THEN GOTO 400 250 IF A=5 THEN GOTO 500 260 IF A=6 THEN GOTO 600 270 IF A=7 THEN GOTO 800 275 IF A=8 THEN GOTO 1300 280 IF A=9 THEN GOTO 1200 299 GOTO 20 300 PO=1 310 CLS:COLOR 9 320 PRINT bo+ "INGRESO DE DATOS NUEVOS"+bf 325 COLOR 12:PRINT ro+ "DESDE CERO!"+rf 326 INPUT "SEGURO (1=SI!) ?";S:IF S<>1 THEN GOTO 20 330 COLOR 9:INPUT "NR DE MES? (0=SALE)";MES(PO) 335 IF MES(PO)=0 THEN GOTO 20 340 COLOR 10:INPUT "DEMANDA LEIDA? ";DEM(PO) 350 PO=PO+1 360 GOTO 330 400 CLS:COLOR 12 410 PRINT bo+"BORRAR ARCHIVO"+bf 420 PRINT 430 INPUT "NOMBRE DEL ARCHIVO A BORRAR? ";B$ 440 KILL B$ 450 GOTO 20 500 CLS:COLOR 13 510 PRINT bo+"AGREGAR DEMANDA"+bf 520 PRINT:COLOR 10 530 COLOR 9:INPUT "NR DE MES? (0=SALE)";MES(PO) 535 IF MES(PO)=0 THEN GOTO 20 540 COLOR 10:INPUT "DEMANDA LEIDA? ";DEM(PO) 550 PO=PO+1 560 GOTO 530 600 CLS:COLOR 9 605 PRINT bo+"CALCULO DE DEMANDA A FACTURAR"+bf:COLOR 2 610 J=1 615 FOR I=PO-1 TO PO-12 STEP -1 620 IF MES(I)=5 OR MES(I)=6 OR MES(I)=7 OR MES(I)=8 OR MES(I)=9 THEN CUA(J)=DEM(I):CES(J)=MES(I):J=J+1 625 NEXT I:J=1:COM=0 626 FOR I=1 TO 5 627 IF CUA(I)>COM THEN LET COM=CUA(I):K=I 628 NEXT I:COM=0 630 MA(1)=CUA(K) 632 FOR I=1 TO 5 634 IF CUA(I)>COM AND CUA(I)<>MA(1) THEN LET COM=CUA(I):K=I 636 NEXT I 638 MA(2)=CUA(K) 640 PROM=(MA(1)+MA(2))/2 660 IF DEM(PO-1)>PROM THEN LET FAC=DEM(PO-1) ELSE LET FAC=PROM 670 PRINT 680 PRINT "INVIERNO:" 690 FOR I=1 TO 5 700 PRINT CES(I),CUA(I) 710 NEXT I 720 PRINT "MAXIMAS=";MA(1),MA(2) 722 PRINT "PROMEDIO=";PROM 725 PRINT "LEIDA=";DEM(PO-1) 730 COLOR 12:PRINT bo+"FACTURAR=";FAC+bf 740 GOSUB 900 750 GOTO 20 800 CLS:COLOR 9 810 PRINT bo+"DATOS EN MEMORIA"+bf 820 PRINT "MES-DEMANDA" 830 I=1:J=0 840 PRINT I,MES(I),DEM(I):I=I+1 842 IF J=1 AND I"i" THEN GOTO 840 870 GOTO 20 900 A$=INKEY$:IF A$="" THEN 900 910 RETURN 1000 REM graba en disco 1001 COLOR 9:INPUT "NOMBRE A GRABAR? "; ar$: ar$ = ar$ + ".dat" 1010 OPEN ar$ FOR OUTPUT AS #1 1020 FOR i = 1 TO po-1 1030 PRINT #1, MES(i):PRINT #1,DEM(i) 1060 NEXT i 1065 CLOSE #1 1068 GOTO 20 1100 REM lee del disco 1101 COLOR 9:INPUT "NOMBRE A LEER? "; ar$: ar$ = ar$ + ".dat" 1105 po=1 1110 OPEN ar$ FOR INPUT AS #1 1130 INPUT #1, MES(po):INPUT #1, DEM(po) 1150 po = po + 1 1160 IF NOT EOF(1) THEN 1130 1165 CLOSE #1 1166 GOTO 20 1200 REM SALIDA GRABANDO 1205 CLS:COLOR 12:INPUT "1=GRABA!??";A:IF A<>1 THEN GOTO 1270 1210 OPEN ar$ FOR OUTPUT AS #1 1220 FOR i = 1 TO po-1 1230 PRINT #1, MES(i):PRINT #1,DEM(i) 1260 NEXT i 1265 CLOSE #1 1266 PRINT:PRINT "GRABADO!!!! ",ar$ 1270 END 1300 CLS:COLOR 9 1310 PRINT bo+"EDITAR DATOS EN MEMORIA"+bf 1320 PRINT 1330 INPUT "NUMERO DE DATO? (0=sale) ",NN 1335 IF NN=0 THEN GOTO 20 1340 PRINT:COLOR 12 1350 PRINT "NR-MES-DEMANDA" 1360 PRINT NN,MES(NN),DEM(NN) 1370 PRINT 1380 COLOR 9:INPUT "NR DE MES? ";MES(NN) 1400 COLOR 10:INPUT "DEMANDA LEIDA? ";DEM(NN) 1500 CLS:COLOR 9 1510 PRINT "EDITAR DATOS EN MEMORIA" 1520 PRINT:COLOR 10 1530 PRINT "NR-MES-DEMANDA" 1540 PRINT NN,MES(NN),DEM(NN) 1560 PRINT:COLOR 12 1570 PRINT ro+"PRESIONE TECLA"+rf 1570 GOSUB 900 1580 GOTO 20 1600 REM CARGA AUTOMATICA DE DEM.DAT 1601 ar$ = "dem.dat" 1605 po=1 1610 OPEN ar$ FOR INPUT AS #1 1630 INPUT #1, MES(po):INPUT #1, DEM(po) 1650 po = po + 1 1660 IF NOT EOF(1) THEN 1630 1665 CLOSE #1 1666 RETURN '