用 c 语言做一个基于顺序表的图书信息管理系统
时间: 2024-10-09 14:04:05 浏览: 89
在C语言中,我们可以创建一个简单的图书信息管理系统的顺序列表结构,包含基本的图书信息如书名、作者、出版年份等,并实现增删查改的功能。这里是一个简化的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_BOOKS 100
// 定义图书结构体
typedef struct Book {
char title[50];
char author[50];
int year;
} Book;
// 库管理函数
void init_books(Book books[], int &book_count) {
book_count = 0;
}
void add_book(Book *books, int *book_count, char* title, char* author, int year) {
if (*book_count >= MAX_BOOKS) {
printf("图书库已满,无法添加新书。\n");
return;
}
strcpy(books[*book_count].title, title);
strcpy(books[*book_count].author, author);
books[*book_count].year = year;
(*book_count)++;
}
void display_books(Book *books, int book_count) {
for (int i = 0; i < book_count; i++) {
printf("标题: %s, 作者: %s, 出版年份: %d\n", books[i].title, books[i].author, books[i].year);
}
}
void delete_book(Book *books, int *book_count, int index) {
if (index >= 0 && index < *book_count) {
memmove(&books[index], &books[index + 1], sizeof(Book) * ((*book_count) - index - 1));
(*book_count)--;
} else {
printf("无效索引。\n");
}
}
int main() {
Book books[MAX_BOOKS];
int book_count = 0;
// 初始化并添加书籍
init_books(books, book_count);
add_book(books, &book_count, "C++ Primer", "Stanley B. Lippman", 2013);
// 显示所有书籍
display_books(books, book_count);
// 删除一本书
delete_book(books, &book_count, 0); // 删除第一本书
return 0;
}
```
这是一个基础的例子,实际的系统可能会需要更多的功能,比如错误处理、用户界面等。在这个例子中,你可以通过控制台输入命令来操作图书库。
阅读全文