1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| void DestoryList(Lineartable *sqlist, NumberList* lists) { if (sqlist->lists->name && sqlist->lists->price) { free(sqlist); free(lists); } }
void Clearlist(Lineartable *sqlist) { int i; for (i = 0; i <= 4; i++) { sqlist->lists->name[i] = ""; sqlist->lists->price[i] = 0; sqlist->length = 0; } }
int Getlenth(Lineartable* sqlist) { return sqlist->length; }
int IsEmpty(Lineartable* sqlist) { if (sqlist->length == 0) { return 1; } else { return 0; } }
char* GetElem(NumberList* lists, int i){ return lists->name[i]; }
void LocateElem(Lineartable* sqlist){ char bn[50]; int i; printf("Input the book you are looking for:"); gets_s(bn, 50); const char* pointer1 = &bn; const char* pointer2 = &(sqlist->lists->name); for(i=0;i<=sqlist->length;i++) { if (strcmp(pointer1, pointer2) == 0) { printf("The book is at the position %d", i); } } }
void ListInsert(Lineartable* sqlist) { int i, j; static char book[30]; printf("Input the position and book name you would like to insert: "); scanf_s("%d\n", &i); printf("Input the book name:\n"); setvbuf(stdin, NULL, _IOFBF, 512); gets_s(book, 30); char* pointer = (char*)book; if (i < 1 || i > sqlist->length) { printf("Fail to insert!"); } else { for (j = sqlist->length - 1; j >= i - 1; j--) { sqlist->lists->name[j + 1] = sqlist->lists->name[j]; sqlist->lists->price[j + 1] = sqlist->lists->price[j]; } sqlist->lists->name[i] = pointer; } }
void ShowBooks(Lineartable* sqlist) { int i; for (i = 0; i <= 4; i++) { printf("Book %d is: %s\n", i+1, sqlist->lists->name[i]); } }
void DeleteList(Lineartable* sqlist) { int i, j; char* pointer = ""; printf("Input the position you want to delete:"); scanf_s("%d", &i); if (i < 1 || i > sqlist->length) { printf("Fail to delete!"); } else { for (j = i; j < sqlist->length; j++) { sqlist->lists->name[j - 1] = sqlist->lists->name[j]; sqlist->lists->price[j - 1] = sqlist->lists->price[j]; } sqlist->length -= 1; sqlist->lists->name[4] = pointer; sqlist->lists->price[4] = 0; }
}
|