home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Games / Remember / Com-Light / AUG-V1.D64 / arrays.c < prev    next >
Encoding:
Text File  |  2019-04-13  |  3.4 KB  |  121 lines

  1. àü/*
  2. 
  3.    ┴RRAYS, ╨OINTERS & ╙TRUCTURES - ├HAPTER 3
  4. 
  5.    ┬ELOW IS AN ARRAY OF STRUCTURES TO HOLD UPTO 6 (0-5) NAMES & PHONE NUMBERS.
  6.    ╞IRSTLY A STRUCTURE WITH THE TAG "BOOK" IS DEFINED, FOLLOWED BY A
  7.    DECLARATION OF AN ARRAY OF STRUCTURE BOOK CALLED NAMES.
  8. 
  9. */
  10. 
  11. 
  12. #INCLUDE "STDIO.H"
  13. #INCLUDE "CTYPE.H"
  14. #DEFINE CLEAR_SCREEN PRINTF("\223")
  15. 
  16. STRUCT BOOK █ CHAR SURNAME[15];
  17.               CHAR FORENAME[20];
  18.               LONG PHONE;  ▌;
  19. 
  20. STRUCT BOOK NAMES[6] = █ "╙MITH", "╨ETE",633261,
  21.                          "┴SKWITH", "┬OB",471263,
  22.                          "╫ILKINSON", "╦ERRY",798624,
  23.                          "╞RY", "┴NDY",623879,
  24.                          "╨ARKER", "├HRIS",299311  ▌;
  25. 
  26. 
  27. MAIN()
  28. █
  29.    INT I,NUMBER,RANGE=4;
  30.    STATIC INT TOTALS[10];
  31. 
  32.    CHAR *WORDS[2];
  33.    CHAR TEMP,CHOICE;
  34. 
  35.    WORDS[0] = "├OMPUTER";
  36.    WORDS[1] = "─ISK ─RIVE";
  37.    WORDS[2] = "╚APPY-╙TICK";
  38. 
  39. 
  40.    CLEAR_SCREEN;
  41.    PRINTF("╙TRING ┴RRAYS");
  42.    PRINTF("\N\N╘HE FOLLOWING WORDS ARE HELD IN THE");
  43.    PRINTF("\NARRAY *WORDS[3] :\N\N");
  44. 
  45.    FOR(I=0; I<3; I++)
  46.        █
  47.        PRINTF("\NWORDS[%D] = %S",I,WORDS[I]);
  48.        ▌
  49. 
  50.    PRINTF("\N\N╨RESS A KEY...");
  51.    GETCHAR();
  52. 
  53.    CLEAR_SCREEN;
  54.    PRINTF("╬UMBER ┴RRAYS\N\N");
  55. 
  56.    FOR(I=0; I<10; I++)
  57.        █
  58.        TOTALS[I] = I*I;
  59.        PRINTF("\NTOTALS[%U] = %D",I,TOTALS[I]);
  60.        ▌
  61. 
  62. /* --- THE %U OUTPUTS AN UNSIGNED INTEGER. ╧N
  63.        OTHER EXAMPLES DISPLAYING INTEGERS YOU
  64.        MIGHT HAVE NOTICED A SPACE IN FRONT OF
  65.        EACH  NUMBER,  THIS  IS LEFT  FOR  THE
  66.        MINUS SIGN WHEN NECESSARY.             ---*/
  67. 
  68. 
  69. 
  70.    PRINTF("\N\N╨RESS A KEY...");
  71.    GETCHAR();
  72. 
  73.    DO
  74.        █
  75.        CLEAR_SCREEN;
  76.        PRINTF("╙TRUCTURES");
  77.        PRINTF("\N\N┼NTER NUMBER (0-%U): ",RANGE);
  78.        DO
  79.           █                                                /* ONLY ACCEPTS   */
  80.            SCANF("%D",&NUMBER);                            /* NUMBERS WITHIN */
  81.           ▌                                                /* RANGE          */
  82.        WHILE(NUMBER <0 ▄▄ NUMBER >RANGE);
  83. 
  84. 
  85.        PRINTF("\N\N╙URNAME   : %S",NAMES[NUMBER].SURNAME); /* DISPLAYS ARRAY */
  86.        PRINTF("\N╞ORENAME  : %S",NAMES[NUMBER].FORENAME);  /* ELEMENT TO     */
  87.        PRINTF("\N╨HONE     : %LU",NAMES[NUMBER].PHONE);    /* SCREEN         */
  88. 
  89.        PRINTF("\N\N┼NTER ANY SURNAME  : ");                /* ACCEPTS 6TH    */
  90.        SCANF("%S",NAMES[5].SURNAME);                       /* ELEMENT        */
  91.        PRINTF("\N┼NTER ANY FORENAME : ");
  92.        SCANF("%S",NAMES[5].FORENAME);
  93.        PRINTF("\N┼NTER ANY PHONE NO ");
  94.        PRINTF("\N(99 TO END)        : ");
  95.        SCANF("%D",&NAMES[5].PHONE);
  96.        RANGE = 5;                                          /* RANGE IS NOW   */
  97.    ▌                                                       /* 0 TO 5         */
  98.    WHILE (NAMES[5].PHONE != 99);
  99. 
  100. 
  101.    PRINTF("\N\N╨RESS... ╙ FOR BINARY ╙EARCH,");
  102.    PRINTF("\N         ┬ FOR ┬UBBLE SORT OR,");
  103.    PRINTF("\N       ANY FOR ═ENU");
  104. 
  105.    TEMP = GETCHAR();
  106.    CHOICE = TOUPPER(TEMP);
  107. 
  108.    SWITCH(CHOICE) █
  109. 
  110.        CASE '╙' : PRINTF("\N\N╙EARCHING...╠OADING BINARY SEARCH...");
  111.                   EXEC("SEARCH"); BREAK;
  112.        CASE '┬' : PRINTF("\N\N═ORE BUBBLES FOR YOUR MONEY...");
  113.                   EXEC("BUBBLE"); BREAK;
  114.        DEFAULT  : PRINTF("\N\N╩UST WAITING FOR THAT MENU TO LOAD....");
  115.                   EXEC("C-MENU"); BREAK;
  116. 
  117.                   ▌
  118. 
  119. 
  120. ▌