home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V3D04.D64 / capitals (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  2.3 KB  |  102 lines

  1. 1 POKE53280,14:POKE53281,6:POKE646,14
  2. 5 DIMDA$(100,2)
  3. 6 FORL=1 TO 100:DA$(L,2)="0":DA$(L,0)="":NEXT
  4. 8 FR=31
  5. 10 REM *******************************
  6. 20 REM *  AN EXAMPLE OF HASH TABLES  *
  7. 30 REM *                             *
  8. 40 REM * WRITTEN BY STEVEN P BURGESS *
  9. 50 REM *                             *
  10. 60 REM *       COPYRIGHT 1989        *
  11. 70 REM *******************************
  12. 80 REM
  13. 90 REM
  14. 95 GOSUB5000
  15. 100 PRINTCHR$(147);
  16. 110 PRINT"[176][192][192][192][192][174]"
  17. 120 PRINT"[221]MENU[221]"
  18. 130 PRINT"[173][192][192][192][192][189]"
  19. 140 PRINT"1..ADD RECORDS"
  20. 150 PRINT"2..SEARCH FOR RECORD"
  21. 160 PRINT"3..DELETE RECORD"
  22. 170 PRINT"4..END PROGRAM"
  23. 180 GETA$:IFA$=""THEN180
  24. 190 IF A$<"1" OR A$>"4"THEN180
  25. 200 IF A$="1"THEN GOSUB1000
  26. 210 IF A$="2"THEN GOSUB2000
  27. 220 IF A$="3"THEN GOSUB3000
  28. 230 IF A$="4"THEN PRINTCHR$(147):END
  29. 250 GOTO 100
  30. 260 REM***************
  31. 270 REM*HASH FUNCTION*
  32. 280 REM***************
  33. 290 H=0:T=0:FORE=1 TO LEN(A$):T=T+ASC(MID$(A$,E,1))
  34. 300 NEXT
  35. 310 T=T/LEN(A$)
  36. 320 H=INT(ABS(SIN(T))*29)+1
  37. 330 H=INT(H)
  38. 340 RETURN
  39. 350 REM***************
  40. 360 REM*ADD PROCEDURE*
  41. 370 REM***************
  42. 380 INS=0:IF DA$(H,0)=""THEN DA$(H,0)=A$:DA$(H,1)=B$:RETURN
  43. 390 IFDA$(H,2)="0"THEN DA$(H,2)=STR$(FR):DA$(FR,0)=A$:DA$(FR,1)=B$:INS=1:FR=FR+1
  44. 400 IF INS<>1 THEN H=VAL(DA$(H,2)):GOTO 380
  45. 410 RETURN
  46. 1000 REM*************
  47. 1010 REM*ADD RECORDS*
  48. 1020 REM*************
  49. 1030 PRINTCHR$(147);
  50. 1040 PRINT"ADD RECORDS"
  51. 1050 PRINT"";:INPUT"ENTER COUNTRY";A$
  52. 1060 PRINT"";:INPUT"ENTER CAPITAL";B$
  53. 1070 GOSUB260:GOSUB350
  54. 1080 RETURN
  55. 2000 REM*************
  56. 2010 REM*SEARCH FOR RECORD*
  57. 2020 REM*******************
  58. 2021 FI=0
  59. 2025 IF DI$<>"DELETE"THEN DI$="SEARCH FOR"
  60. 2030 PRINTCHR$(147);
  61. 2040 PRINTDI$+" RECORD"
  62. 2050 PRINT"";:INPUT"ENTER COUNTRY";A$
  63. 2060 GOSUB260
  64. 2070 IF DA$(H,0)=A$ THEN F=1
  65. 2080 IF F=0 THEN H=VAL(DA$(H,2))
  66. 2090 IF H<>0 AND F<>1 THEN 2070
  67. 2100 IFH=0ANDF=0 THEN PRINT"[147]SORRY BUT THE COUNTRY YOU ENTERED IS NOT PRESENT"
  68. 2105 IF H=0 AND F=0 THEN PRINT"PRESS ANY KEY TO RETURN TO THE MENU"
  69. 2106 IF H=0 AND F=0 THEN GETA$:IFA$=""THEN2106
  70. 2107 IF H=0 AND F=0 THEN RETURN
  71. 2110 PRINT"[147]";
  72. 2120 PRINT"COUNTRY:";DA$(H,0)
  73. 2130 PRINT"CAPITAL:";DA$(H,1)
  74. 2140 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  75. 2150 PRINT"IS THIS THE RECORD YOU REQUIRE"
  76. 2160 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  77. 2170 GETR$:IFR$=""THEN2170
  78. 2180 IF R$="N"THENH=VAL(DA$(H,2)):F=0:GOTO 2070
  79. 2190 PRINT"[145][145]PRESS ANY KEY TO RETURN            "
  80. 2200 GETA$:IFA$=""THEN 2200
  81. 2205 IF DI$<>"DELETE"THEN H=0:F=0
  82. 2210 RETURN
  83. 3000 REM***************
  84. 3010 REM*DELETE RECORD*
  85. 3020 REM***************
  86. 3025 DI$="DELETE"
  87. 3030 PRINT"[147]";
  88. 3040 PRINT"DELETE RECORD"
  89. 3050 GOSUB2000
  90. 3080 IF H=0 AND F=0 THEN RETURN
  91. 3090 DA$(H,0)="":DA$(H,1)=""
  92. 3095 DI$=""
  93. 3096 H=0:F=0
  94. 3100 RETURN
  95. 5000 FORL=1 TO 5:READA$,B$
  96. 5010 GOSUB260
  97. 5020 GOSUB350
  98. 5030 NEXT
  99. 5036 RETURN
  100. 5040 DATAFRANCE,PARIS,ENGLAND,LONDON,RUSSIA,MOSCOW,AUSTRAILIA,CANBERRA,ETHIOPIA
  101. 5050 DATAADDIS ABABA
  102.