int main(){ char inputs[10]; int input; int admin = 0; //0 for NO, 1 for YES LoadBooks(&bookRoot); LoadMembers(&memRoot); while(1){ //Main Menu printf("\n\n\t\t\t\t UEC Library\n\n"); printf("1. Issue a book\n"); printf("2. Return book\n"); printf("3. Display all books\n"); printf("4. Find a book\n"); if(admin == 0){ printf("5. Admin Login\n"); printf("6. Exit\n"); }else{ printf("5. Add new book\n"); printf("6. Delete book\n"); printf("7. Add new member\n"); printf("8. Display all members\n"); printf("9. Find member\n"); printf("10. Delete member\n"); printf("11. Logout\n"); printf("12. Exit\n"); } printf("\nEnter your choice: "); fgets(inputs, 10, stdin); input = atoi(inputs); if(input == 0){ printf("Saving database...\n"); FILE *f = fopen(BOOKFILE, "w"); SaveBooks(bookRoot, &f); fclose(f); f = fopen(MEMBERFILE, "w"); SaveMembers(memRoot, &f); fclose(f); exit(1); } if(input <= 0) exit(1); if(admin == 0){ switch(input){ case 1: IssueABook(); break; case 2: ReturnBook(); break; case 3: DisplayAllBooks(); break; case 4: FindBook(); break; case 5: AdminLogin(&admin); break; default: printf("Saving database...\n"); FILE *f = fopen(BOOKFILE, "w"); SaveBooks(bookRoot, &f); fclose(f); f = fopen(MEMBERFILE, "w"); SaveMembers(memRoot, &f); fclose(f); exit(1); } }else{ switch(input){ case 1: IssueABook(); break; case 2: ReturnBook(); break; case 3: DisplayAllBooks(); break; case 4: FindBook(); break; case 5: AddNewBook(); break; case 6: DeleteBook(); break; case 7: AddNewMember(); break; case 8: DisplayAllMembers(); break; case 9: FindMember(); break; case 10: DeleteMember(); break; case 11: admin = 0; break; case 12: default: printf("Saving database...\n"); FILE *f = fopen(BOOKFILE, "w"); SaveBooks(bookRoot, &f); fclose(f); f = fopen(MEMBERFILE, "w"); SaveMembers(memRoot, &f); fclose(f); exit(1); } } } return 0; }
// Remove Quantity from m_Quantity in ISBN book void cInventory::RemoveStock(const string & ISBN, uint16_t Quantity) { FindBook(ISBN)->Remove_Q(Quantity); }
// Change Price of ISBN book to newPrice void cInventory::PriceChange(const string & ISBN, uint16_t newPrice) { FindBook(ISBN)->ChangePrice(newPrice); }
// Add Quantity from m_Quantity in ISBN book void cInventory::AddStock(const string & ISBN, uint16_t Quantity) { FindBook(ISBN)->Add_Q(Quantity); }