Listing 8
/************************************************************ Testlist.c - Program to test the list object using a phone list as an example. ************************************************************/ #include "phlist2.h" static PHONE_ENTRY test_data[] = { {"Able","Ben","456-7890"},{"Smith","John","456-0987"}, {"Kirk","Jim","622-1701"},{"Picard","Jon L.","622-1701"}, {"Jones","Cyrano","874-2253"} }; static PHONE_ENTRY jane = {"Smith","Jane","123/456-0987"}; main() { PHONE_LIST *pe; int x; pe = new_phone_list(); for (x = 0; x < 5; ++x) pe->add_member(pe,&test_data[x]); printf("\nTesting Phone List:\n"); pe->top(pe); while( ! pe->at_end(pe) ) { pe->display(pe); pe->next(pe); } printf("\n Finding - Kirk \n"); pe->top(pe); if (pe->find(pe,"Kirk") == TRUE) pe->display(pe); printf("\n Trying to find McCoy \n"); if (pe->find(pe,"McCoy") == FALSE) printf("\nMcCoy not found\n"); printf("Current Member is :\n"); pe->display(pe); printf("Replace John Smith with Jane\n"); pe->top(pe); if (pe->find(pe,"Smith") == TRUE) { pe->replace_member(pe,&jane); } else { printf("Not Found (Strike a Key)\n"); getch(); } printf("\nRedisplaying phone list:\n"); pe->top(pe); while( ! pe->at_end(pe) ) { pe->display(pe); pe->next(pe); } pe->end(pe); printf("Total members = %ld\n",pe->total_members(pe)); printf("Current member = %ld\n",pe->tell(pe)); }