home *** CD-ROM | disk | FTP | other *** search
- àü/*
- ┴RRAYS, ╨OINTERS & ╙TRUCTURES - ├HAPTER 3
- ┬ELOW IS AN ARRAY OF STRUCTURES TO HOLD UPTO 6 (0-5) NAMES & PHONE NUMBERS.
- ╞IRSTLY A STRUCTURE WITH THE TAG "BOOK" IS DEFINED, FOLLOWED BY A
- DECLARATION OF AN ARRAY OF STRUCTURE BOOK CALLED NAMES.
- */
- #INCLUDE "STDIO.H"
- #INCLUDE "CTYPE.H"
- #DEFINE CLEAR_SCREEN PRINTF("\223")
- STRUCT BOOK █ CHAR SURNAME[15];
- CHAR FORENAME[20];
- LONG PHONE; ▌;
- STRUCT BOOK NAMES[6] = █ "╙MITH", "╨ETE",633261,
- "┴SKWITH", "┬OB",471263,
- "╫ILKINSON", "╦ERRY",798624,
- "╞RY", "┴NDY",623879,
- "╨ARKER", "├HRIS",299311 ▌;
- MAIN()
- █
- INT I,NUMBER,RANGE=4;
- STATIC INT TOTALS[10];
- CHAR *WORDS[2];
- CHAR TEMP,CHOICE;
- WORDS[0] = "├OMPUTER";
- WORDS[1] = "─ISK ─RIVE";
- WORDS[2] = "╚APPY-╙TICK";
- CLEAR_SCREEN;
- PRINTF("╙TRING ┴RRAYS");
- PRINTF("\N\N╘HE FOLLOWING WORDS ARE HELD IN THE");
- PRINTF("\NARRAY *WORDS[3] :\N\N");
- FOR(I=0; I<3; I++)
- █
- PRINTF("\NWORDS[%D] = %S",I,WORDS[I]);
- ▌
- PRINTF("\N\N╨RESS A KEY...");
- GETCHAR();
- CLEAR_SCREEN;
- PRINTF("╬UMBER ┴RRAYS\N\N");
- FOR(I=0; I<10; I++)
- █
- TOTALS[I] = I*I;
- PRINTF("\NTOTALS[%U] = %D",I,TOTALS[I]);
- ▌
- /* --- THE %U OUTPUTS AN UNSIGNED INTEGER. ╧N
- OTHER EXAMPLES DISPLAYING INTEGERS YOU
- MIGHT HAVE NOTICED A SPACE IN FRONT OF
- EACH NUMBER, THIS IS LEFT FOR THE
- MINUS SIGN WHEN NECESSARY. ---*/
- PRINTF("\N\N╨RESS A KEY...");
- GETCHAR();
- DO
- █
- CLEAR_SCREEN;
- PRINTF("╙TRUCTURES");
- PRINTF("\N\N┼NTER NUMBER (0-%U): ",RANGE);
- DO
- █ /* ONLY ACCEPTS */
- SCANF("%D",&NUMBER); /* NUMBERS WITHIN */
- ▌ /* RANGE */
- WHILE(NUMBER <0 ▄▄ NUMBER >RANGE);
- PRINTF("\N\N╙URNAME : %S",NAMES[NUMBER].SURNAME); /* DISPLAYS ARRAY */
- PRINTF("\N╞ORENAME : %S",NAMES[NUMBER].FORENAME); /* ELEMENT TO */
- PRINTF("\N╨HONE : %LU",NAMES[NUMBER].PHONE); /* SCREEN */
- PRINTF("\N\N┼NTER ANY SURNAME : "); /* ACCEPTS 6TH */
- SCANF("%S",NAMES[5].SURNAME); /* ELEMENT */
- PRINTF("\N┼NTER ANY FORENAME : ");
- SCANF("%S",NAMES[5].FORENAME);
- PRINTF("\N┼NTER ANY PHONE NO ");
- PRINTF("\N(99 TO END) : ");
- SCANF("%D",&NAMES[5].PHONE);
- RANGE = 5; /* RANGE IS NOW */
- ▌ /* 0 TO 5 */
- WHILE (NAMES[5].PHONE != 99);
- PRINTF("\N\N╨RESS... ╙ FOR BINARY ╙EARCH,");
- PRINTF("\N ┬ FOR ┬UBBLE SORT OR,");
- PRINTF("\N ANY FOR ═ENU");
- TEMP = GETCHAR();
- CHOICE = TOUPPER(TEMP);
- SWITCH(CHOICE) █
- CASE '╙' : PRINTF("\N\N╙EARCHING...╠OADING BINARY SEARCH...");
- EXEC("SEARCH"); BREAK;
- CASE '┬' : PRINTF("\N\N═ORE BUBBLES FOR YOUR MONEY...");
- EXEC("BUBBLE"); BREAK;
- DEFAULT : PRINTF("\N\N╩UST WAITING FOR THAT MENU TO LOAD....");
- EXEC("C-MENU"); BREAK;
- ▌
- ▌