c语言编写校园图书管理系统
时间: 2023-12-11 16:31:49 浏览: 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 num_books = 0;
void add_book() {
if (num_books >= MAX_BOOKS) {
printf("Error: too many books\n");
return;
}
struct Book book;
printf("Enter title: ");
scanf("%s", book.title);
printf("Enter author: ");
scanf("%s", book.author);
printf("Enter id: ");
scanf("%d", &book.id);
books[num_books++] = book;
printf("Book added successfully\n");
}
void remove_book() {
int id;
printf("Enter id of book to remove: ");
scanf("%d", &id);
for (int i = 0; i < num_books; i++) {
if (books[i].id == id) {
for (int j = i; j < num_books - 1; j++) {
books[j] = books[j + 1];
}
num_books--;
printf("Book removed successfully\n");
return;
}
}
printf("Error: book not found\n");
}
void find_book() {
char title[50];
printf("Enter title of book to find: ");
scanf("%s", title);
for (int i = 0; i < num_books; 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("ID: %d\n", books[i].id);
return;
}
}
printf("Error: book not found\n");
}
void show_books() {
printf("All books:\n");
for (int i = 0; i < num_books; i++) {
printf("Title: %s\n", books[i].title);
printf("Author: %s\n", books[i].author);
printf("ID: %d\n", books[i].id);
printf("\n");
}
}
int main() {
int choice;
while (1) {
printf("Enter choice:\n");
printf("1. Add book\n");
printf("2. Remove book\n");
printf("3. Find book\n");
printf("4. Show all books\n");
printf("5. Quit\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
remove_book();
break;
case 3:
find_book();
break;
case 4:
show_books();
break;
case 5:
exit(0);
default:
printf("Error: invalid choice\n");
}
}
return 0;
}
```