生成一个图书管理系统的c语言程序
时间: 2024-05-03 14:19:35 浏览: 69
图书信息管理c语言程序.doc
以下是一个简单的图书管理系统的 C 语言程序,包括添加书籍、删除书籍、查找书籍和显示所有书籍等基本功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义 Book 结构体
struct Book {
char title[50];
char author[50];
int id;
};
// 定义全局变量
struct Book books[100];
int num_books = 0;
// 函数声明
void add_book();
void delete_book();
void find_book();
void display_books();
// 主函数
int main() {
int choice;
while (1) {
printf("\n");
printf("图书管理系统\n");
printf("1. 添加书籍\n");
printf("2. 删除书籍\n");
printf("3. 查找书籍\n");
printf("4. 显示所有书籍\n");
printf("5. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
delete_book();
break;
case 3:
find_book();
break;
case 4:
display_books();
break;
case 5:
exit(0);
default:
printf("请输入有效的选项!\n");
}
}
return 0;
}
// 添加书籍
void add_book() {
struct Book book;
printf("请输入书名:");
scanf("%s", book.title);
printf("请输入作者名:");
scanf("%s", book.author);
printf("请输入书籍编号:");
scanf("%d", &book.id);
books[num_books] = book;
num_books++;
printf("添加书籍成功!\n");
}
// 删除书籍
void delete_book() {
int id, i, j;
printf("请输入要删除的书籍编号:");
scanf("%d", &id);
for (i=0; i<num_books; i++) {
if (books[i].id == id) {
for (j=i; j<num_books-1; j++) {
books[j] = books[j+1];
}
num_books--;
printf("删除书籍成功!\n");
return;
}
}
printf("未找到该书籍!\n");
}
// 查找书籍
void find_book() {
int id, i;
printf("请输入要查找的书籍编号:");
scanf("%d", &id);
for (i=0; i<num_books; i++) {
if (books[i].id == id) {
printf("书名:%s\n", books[i].title);
printf("作者:%s\n", books[i].author);
printf("书籍编号:%d\n", books[i].id);
return;
}
}
printf("未找到该书籍!\n");
}
// 显示所有书籍
void display_books() {
int i;
if (num_books == 0) {
printf("暂无书籍!\n");
return;
}
printf("所有书籍如下:\n");
for (i=0; i<num_books; i++) {
printf("书名:%s\n", books[i].title);
printf("作者:%s\n", books[i].author);
printf("书籍编号:%d\n", books[i].id);
printf("\n");
}
}
```
这个程序使用了结构体来存储书籍的信息,全局变量 `books` 数组用来存储所有书籍,`num_books` 记录当前书籍的数量。主函数中使用了一个循环来不断接受用户的输入并根据用户的选择调用相应的函数。四个函数分别实现了添加、删除、查找和显示书籍的功能。
阅读全文