home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RBBS in a Box Volume 1 #2
/
RBBS_vol1_no2.iso
/
096z
/
sort.bas
< prev
next >
Wrap
BASIC Source File
|
1985-01-17
|
2KB
|
90 lines
140 N=1000:E$="END
150 DIM A$(N):I=1:GOTO 390
160 GOSUB 620:K=1
170 IF K>N THEN 210
180 PRINT K;:LINE INPUT R$:IF R$=E$ THEN 210
190 IF LEN(R$)=0 THEN 180
200 A$(K)=R$:K=K+1:GOTO 170
210 K=K-1
220 PRINT K;"ITEMS ENTERED."
230 GOTO 440
240 IF K=1 OR K=0 THEN 320
250 PRINT"SORTING..."
260 FOR J=K TO 2 STEP -1
270 R$=A$(1):F=1
280 FOR L=2 TO J
290 IF A$(L)>R$ THEN R$=A$(L):F=L
300 NEXT:A$(F)=A$(J):A$(J)=R$
310 NEXT
320 PRINT K;"ITEMS SORTED."
330 GOTO 440
340 IF K=0 THEN PRINT"ZERO DATA ITEMS":GOTO 440
350 FOR J=1 TO K
360 PRINT J;TAB(6);A$(J)
370 NEXT
380 GOTO 440
390 KEY OFF:SCREEN 0,0:COLOR 2,0:CLS
400 PRINT"**** SORTLIST ****"
410 PRINT
420 PRINT
430 PRINT N;"ITEMS MAXIMUM."
440 PRINT
450 PRINT"PRESS A KEY TO CONTINUE";
460 DEF SEG:POKE 106,0
470 R$=INKEY$:IF LEN(R$)=0 THEN 470
480 PRINT:PRINT
490 PRINT"OPTIONS:"
500 PRINT"1 ENTER DATA FROM KEYBOARD"
510 PRINT"2 READ DISK FILE"
520 PRINT"3 WRITE DATA TO DISK FILE"
530 PRINT"4 SORT DATA ALPHABETICALLY"
540 PRINT"5 DISPLAY DATA NOW IN MEMORY"
550 PRINT"6 END PROGRAM"
560 PRINT
570 PRINT"ENTER 1-6 AND PRESS ENTER KEY."
580 INPUT R$:R=VAL (R$)
590 IF R<1 OR R>6 THEN 570
600 ON R GOTO 160,700,880,240,340,1020
610 STOP
620 PRINT
630 PRINT"ENTER EACH ITEM BELOW."
640 PRINT
650 PRINT N;"ITEMS MAXIMUM."
660 PRINT
670 PRINT CHR$(39);E$;CHR$(39);" ENDS THE LIST."
680 PRINT
690 RETURN
700 PRINT
710 PRINT STRING$(40,45)
720 PRINT"FILES ON DISK ARE:"
730 FILES
740 PRINT STRING$(40,45)
750 INPUT"FILESPEC TO READ";F$
760 IF LEN(F$)=0 THEN 440
770 OPEN F$ FOR INPUT AS #1
780 K=1
790 IF K>N THEN CLOSE #1:GOTO 830
800 IF EOF(1) THEN CLOSE #1:GOTO 850
810 LINE INPUT #1,R$
820 A$(K)=R$:K=K+1:GOTO 790
830 PRINT N;"ITEMS WERE READ -- **MAXIMUM**"
840 BEEP
850 K=K-1
860 PRINT K;"ITEMS READ FROM DISK."
870 GOTO 440
880 PRINT
890 PRINT STRING$(40,45)
900 PRINT"FILES ON DISK ARE:"
910 FILES
920 PRINT STRING$(40,45)
930 INPUT"FILESPEC TO WRITE";F$
940 IF LEN(F$)=0 THEN 440
950 OPEN F$ FOR OUTPUT AS #1
960 IF K=0 THEN 990
970 FOR J=1 TO K
980 PRINT #1,A$(J):NEXT
990 CLOSE #1
1000 PRINT K;"ITEMS WRITTEM TO FILE."
1010 GOTO 440
1020 END