用c语言写一个图书管理系统
时间: 2023-03-22 18:00:38 浏览: 145
好的,我可以回答这个问题。下面是一个用C语言编写的基本图书管理系统的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100 // 最大书籍数量
struct Book {
char title[100]; // 书名
char author[50]; // 作者
int year; // 出版年份
};
struct Library {
struct Book books[MAX_BOOKS]; // 图书馆中所有书籍
int num_books; // 当前书籍数量
};
// 添加一本书籍
void add_book(struct Library* library, struct Book book) {
if (library->num_books == MAX_BOOKS) {
printf("图书馆已满,无法添加新书籍。\n");
return;
}
library->books[library->num_books] = book;
library->num_books++;
printf("成功添加书籍:%s\n", book.title);
}
// 通过书名查找书籍
void find_book_by_title(struct Library* library, char* title) {
int found = 0;
for (int i = 0; i < library->num_books; i++) {
if (strcmp(library->books[i].title, title) == 0) {
printf("已找到书籍:\n");
printf("书名:%s\n", library->books[i].title);
printf("作者:%s\n", library->books[i].author);
printf("出版年份:%d\n", library->books[i].year);
found = 1;
break;
}
}
if (!found) {
printf("未找到书籍:%s\n", title);
}
}
// 显示所有书籍
void show_all_books(struct Library* library) {
printf("图书馆中共有%d本书籍:\n", library->num_books);
for (int i = 0; i < library->num_books; i++) {
printf("书名:%s\n", library->books[i].title);
printf("作者:%s\n", library->books[i].author);
printf("出版年份:%d\n", library->books[i].year);
printf("\n");
}
}
int main() {
struct Library library = {0};
struct Book book1 = {"C语言程序设计", "谭浩强", 2017};
struct Book book2 = {"数据结构", "严蔚敏", 2016};
add_book(&library, book1);
add_book(&library, book2);
find_book_by_title(&library, "C语言程序设计");
find_book_by_title(&library, "计算机组成原理");
show_all_books(&library);
return 0;
}
```
此程序中定义了一个 `Book` 结构体表示书籍,包含书名、作者和出版年份等信息,同时定义了一个 `Library` 结构体表示图书馆,包含一个 `Book` 数组和当前书籍数量。程序中提供了添加一本书籍、通过书名查找书籍和显示所有书籍的功能。通过调用这些函数,我们可以向图书馆中添加书籍,查找书籍或显示所有书籍。
请注意,此
阅读全文