5 ! NAMEC - CHANGE NAME INFORMATION 100 !**************OPEN DISK FILES************************** 110 !***********WRITTEN JUNE 14,1972******************* 120 OPEN "**MASTER" AS FILE 1 : DIM# 1 ,M%(100) 140 OPEN "**STINF" AS FILE 3 : DIM# 3 ,S$( 1111 )=32 160 OPEN "**STUDF" AS FILE 5 : DIM# 5 ,L%( 1111 ,2),S%( 1111 ,10),N( 1111 ) 250 PRINT "AFTER A NAME CHANGE WHEN IT ASKS FOR ---SORT#" 251 PRINT " ENTER 0-FOR LEAVE IT ALONE,1-FOR REMOVE NAME FROM SORT" 252 PRINT ",OR 2-FOR RESORT THE NAME 299 !******************************************************* 300 Z6=0 310 INPUT "DO YOU WISH TO ENTER DP#";A$ 320 IF A$="YES" THEN Z6=1 400 INPUT "ENTER STUDENT# OR 0 TO STOP";A 405 IF A=0 THEN 9990 ! EVERY THING MUST BE PERFECT-HA! 407 IF Z6=1 THEN I%=A : GOTO 430 ! GIVEN DP# 409 FOR I%=1 TO M%(2) 410 IF N(I%)=A THEN 430 411 NEXT I% 420 PRINT "STUDENT #";A;" IS NOT IN THE FILE" : GOTO 400 430 PRINT "**";S$(I%) ! WHAT DOES HE LOOK LIKE NOW? 440 INPUT LINE B$ 442 B$=LEFT(B$,LEN(B$)-2) 450 IF MID(B$,1,2)="OK"THEN520 452 IF LEN(B$)<32 THEN B$=B$+SPACE$(32-LEN(B$)) 453 S$(I%)=LEFT(B$,32) 455 INPUT "SORT#";Z7 : IF Z7=0 THEN 400 456 IF Z7<0 OR Z7>2 THEN PRINT "NOT RIGHT" : GOTO 400 457 IF I%=M%(3) THEN M%(3)=L%(I%,1) : GOTO 490 !FIRST IN SORT 460 FOR J%=1 TO M%(2) 461 IF L%(J%,1)=I% THEN 480 462 NEXT J% 470 INPUT "ERROR-HE IS NOT IN THE SORT CHAIN IS THAT OK";A$ 475 IF A$<>"YES" THEN 400 476 GOTO 485 480 L%(J%,1)=L%(I%,1) ! REMOVE FROM OLD CHAIN 482 PRINT "OLD CHAIN--";J%,L%(I%,1) 485 IF Z7=1 THEN 400 490 !****** GO PLACE HIM IN HIS NEW POSITION 500 K%=I% 510 GOSUB 600 520 PRINT "OLD ST#";N(I%);"----NEW ST#"; : INPUT N(I%) 530 GOTO 400 600 !****REPOSITION IN THE FILE 640 A$=LEFT(S$(K%),1) ! PICK OFF FIRST LETTER 650 CHANGE A$ TO A ! CHANGE TO NUMBER VALUE 660 B=A(1)-64+3 665 V%=M%(B) ! PICK UP STARTING # FOR THE LETTER 670 IF B>4 THEN 710 675 !****HANDLE THE FIRST NAME CHECK******* 680 V%=M%(3) 690 IF S$(K%)>S$(V%) THEN 710 ! MAKE SURE NOT FIRST 700 M%(3)=K% : L%(K%,1)=V% : GOTO 1000 ! HE GOES FIRST 710 ! **********FIND PLACE IN THE SORT************** 715 IF S$(J%)S$(V1%) THEN V%=V1% :GOTO 720 740 L%(K%,1)=V1% ! WHERE NAME SHOULD POINT 750 L%(V%,1)=K% ! WHO POINTS TO HIM 760 PRINT V%,K%,V1% 790 GOTO 1000 !*** FINALLY GOT HIM THERE 800 PRINT "STUDENT#";K%,S$(K%);" DID NOT SORT" 810 PRINT "**********";B 1000 RETURN ! END OF MERGE ROUTINE 9990 CLOSE 1,3,5 9999 END