Sitemap

Member-only story

Library Management System

7 min readSep 28, 2024

--

yes,

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Define a structure for a Book
struct Book {
int id;
char title[100];
char author[100];
int available_copies;
struct Book *next; // Pointer to the next book in the linked list
};

// Function prototypes
void addBook(struct Book **head);
void searchBook(struct Book *head);
void issueBook(struct Book *head);
void displayBooks(struct Book *head);
void saveBooksToFile(struct Book *head);
void loadBooksFromFile(struct Book **head);
struct Book *createBook(int id, const char *title, const char *author, int copies);
void freeBookList(struct Book *head);

int main() {
struct Book *library = NULL; // Pointer to the head of the book list
int choice;

// Load books from the file when the program starts
loadBooksFromFile(&library);

while (1) {
printf("\n--- Library Management Menu ---\n");
printf("1. Add Book\n");
printf("2. Search Book\n");
printf("3. Issue Book\n");
printf("4. Display All Books\n");
printf("5. Save and Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);

switch (choice) {
case 1:
addBook(&library);
break;
case 2:
searchBook(library);
break;
case 3:
issueBook(library);
break;
case 4:
displayBooks(library);
break;
case 5:
saveBooksToFile(library)…

--

--