用c语言写一个图书管理系统
时间: 2023-12-11 15:58:55 浏览: 31
这是一个基于C语言的简单图书管理系统,包含了添加书籍、删除书籍、查找书籍和显示所有书籍的基本功能。代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
struct book {
char title[50];
char author[50];
int id;
};
struct book books[MAX_BOOKS];
int numBooks = 0;
void addBook();
void deleteBook();
void findBook();
void displayBooks();
int main() {
int choice;
while (1) {
printf("\n1. Add Book\n");
printf("2. Delete Book\n");
printf("3. Find Book\n");
printf("4. Display All Books\n");
printf("5. Exit\n");
printf("\nEnter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook();
break;
case 2:
deleteBook();
break;
case 3:
findBook();
break;
case 4:
displayBooks();
break;
case 5:
exit(0);
default:
printf("Invalid choice. Please try again.\n");
}
}
}
void addBook() {
if (numBooks == MAX_BOOKS) {
printf("Unable to add book. Maximum number of books reached.\n");
return;
}
struct book newBook;
printf("\nEnter book title: ");
scanf("%s", newBook.title);
printf("Enter book author: ");
scanf("%s", newBook.author);
printf("Enter book ID: ");
scanf("%d", &newBook.id);
books[numBooks] = newBook;
numBooks++;
printf("\nBook added successfully.\n");
}
void deleteBook() {
int id;
printf("\nEnter book ID to delete: ");
scanf("%d", &id);
int found = 0;
for (int i = 0; i < numBooks; i++) {
if (books[i].id == id) {
found = 1;
for (int j = i; j < numBooks - 1; j++) {
books[j] = books[j + 1];
}
numBooks--;
printf("\nBook deleted successfully.\n");
break;
}
}
if (!found) {
printf("\nBook not found.\n");
}
}
void findBook() {
char title[50];
printf("\nEnter book title to find: ");
scanf("%s", title);
int found = 0;
for (int i = 0; i < numBooks; i++) {
if (strcmp(books[i].title, title) == 0) {
found = 1;
printf("\nBook found:\n");
printf("Title: %s\n", books[i].title);
printf("Author: %s\n", books[i].author);
printf("ID: %d\n", books[i].id);
break;
}
}
if (!found) {
printf("\nBook not found.\n");
}
}
void displayBooks() {
if (numBooks == 0) {
printf("\nNo books to display.\n");
return;
}
printf("\nList of books:\n");
for (int i = 0; i < numBooks; i++) {
printf("Title: %s\n", books[i].title);
printf("Author: %s\n", books[i].author);
printf("ID: %d\n", books[i].id);
printf("\n");
}
}
```
这个简单的图书管理系统使用结构体存储书籍的信息,并提供了添加、删除、查找和显示书籍的功能。你可以根据自己的需求进行修改和扩展。