Untitled
unknown
plain_text
2 years ago
4.4 kB
7
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Structure to represent a book
struct Book {
char title[100];
char author[100];
int year;
};
// Function to add books to the library
void addBooks(struct Book books[], int *count) {
printf("Enter the details of the book:\n");
printf("Title: ");
scanf("%s", books[*count].title);
printf("Author: ");
scanf("%s", books[*count].author);
printf("Year: ");
scanf("%d", &books[*count].year);
(*count)++;
printf("Book added successfully!\n");
}
// Function to search for books in the library
void searchBooks(struct Book books[], int count) {
char title[100];
printf("Enter the title of the book to search: ");
scanf("%s", title);
int found = 0;
for (int i = 0; i < count; i++) {
if (strcmp(books[i].title, title) == 0) {
printf("Book found!\n");
printf("Title: %s\n", books[i].title);
printf("Author: %s\n", books[i].author);
printf("Year: %d\n", books[i].year);
found = 1;
break;
}
}
if (!found) {
printf("Book not found!\n");
}
}
// Function to view all books in the library
void viewBooks(struct Book books[], int count) {
if (count == 0) {
printf("No books in the library!\n");
} else {
printf("Books in the library:\n");
for (int i = 0; i < count; i++) {
printf("Title: %s\n", books[i].title);
printf("Author: %s\n", books[i].author);
printf("Year: %d\n", books[i].year);
printf("--------------\n");
}
}
}
// Function to delete a book from the library
void deleteBook(struct Book books[], int *count) {
char title[100];
printf("Enter the title of the book to delete: ");
scanf("%s", title);
int found = 0;
for (int i = 0; i < *count; i++) {
if (strcmp(books[i].title, title) == 0) {
found = 1;
for (int j = i; j < *count - 1; j++) {
strcpy(books[j].title, books[j + 1].title);
strcpy(books[j].author, books[j + 1].author);
books[j].year = books[j + 1].year;
}
(*count)--;
printf("Book deleted successfully!\n");
break;
}
}
if (!found) {
printf("Book not found!\n");
}
}
// Function to update the password
void updatePassword(char password[]) {
char currentPassword[100];
printf("Enter the current password: ");
scanf("%s", currentPassword);
if (strcmp(currentPassword, password) == 0) {
char newPassword[100];
printf("Enter the new password: ");
scanf("%s", newPassword);
strcpy(password, newPassword);
printf("Password updated successfully!\n");
} else {
printf("Incorrect password!\n");
}
}
int main() {
struct Book books[100];
int count = 0;
char password[] = "admin";
char enteredPassword[100];
printf("Enter the password: ");
scanf("%s", enteredPassword);
if (strcmp(enteredPassword, password) != 0) {
printf("Incorrect password. Exiting...\n");
return 0;
}
int choice;
do {
printf("\nLibrary Management System Menu:\n");
printf("1. Add Books\n");
printf("2. Search Books\n");
printf("3. View Books\n");
printf("4. Delete Books\n");
printf("5. Update Password\n");
printf("6. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addBooks(books, &count);
break;
case 2:
searchBooks(books, count);
break;
case 3:
viewBooks(books, count);
break;
case 4:
deleteBook(books, &count);
break;
case 5:
updatePassword(password);
break;
case 6:
printf("Exiting...\n");
break;
default:
printf("Invalid choice! Please try again.\n");
}
} while (choice != 6);
return 0;Editor is loading...