帮我用c语言写一份图书管理系统
时间: 2023-10-13 10:04:25 浏览: 77
好的,以下是一个简单的图书管理系统的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100 //最大图书数量
typedef struct book {
char name[50];
char author[50];
char publisher[50];
float price;
} BOOK; //定义图书结构体
void menu(); //菜单函数
void add_book(BOOK books[], int *count); //添加图书函数
void search_book(BOOK books[], int count); //查找图书函数
void display_book(BOOK books[], int count); //显示所有图书函数
void delete_book(BOOK books[], int *count); //删除图书函数
int main() {
BOOK books[MAX];
int count = 0; //当前图书数量
int choice;
do {
menu(); //显示菜单
printf("请输入你的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book(books, &count);
break;
case 2:
search_book(books, count);
break;
case 3:
display_book(books, count);
break;
case 4:
delete_book(books, &count);
break;
case 5:
printf("感谢使用图书管理系统!\n");
exit(0);
default:
printf("无效的选择,请重新输入!\n");
break;
}
} while (choice != 5);
return 0;
}
//菜单函数
void menu() {
printf("*********欢迎使用图书管理系统*********\n");
printf("1. 添加图书\n");
printf("2. 查找图书\n");
printf("3. 显示所有图书\n");
printf("4. 删除图书\n");
printf("5. 退出\n");
}
//添加图书函数
void add_book(BOOK books[], int *count) {
if (*count == MAX) { //当前图书数量已达最大值,无法添加
printf("图书数量已达上限,无法添加!\n");
return;
}
printf("请输入图书名:");
scanf("%s", books[*count].name);
printf("请输入作者名:");
scanf("%s", books[*count].author);
printf("请输入出版社:");
scanf("%s", books[*count].publisher);
printf("请输入价格:");
scanf("%f", &books[*count].price);
printf("添加成功!\n");
(*count)++; //图书数量加1
}
//查找图书函数
void search_book(BOOK books[], int count) {
char name[50];
int i;
printf("请输入要查找的图书名:");
scanf("%s", name);
for (i = 0; i < count; i++) {
if (strcmp(name, books[i].name) == 0) { //找到图书
printf("图书名:%s\n", books[i].name);
printf("作者名:%s\n", books[i].author);
printf("出版社:%s\n", books[i].publisher);
printf("价格:%f\n", books[i].price);
return;
}
}
printf("没有找到该图书!\n"); //未找到图书
}
//显示所有图书函数
void display_book(BOOK books[], int count) {
int i;
if (count == 0) { //当前无图书
printf("当前无图书!\n");
return;
}
printf("所有图书信息如下:\n");
for (i = 0; i < count; i++) {
printf("图书名:%s\n", books[i].name);
printf("作者名:%s\n", books[i].author);
printf("出版社:%s\n", books[i].publisher);
printf("价格:%f\n", books[i].price);
printf("\n");
}
}
//删除图书函数
void delete_book(BOOK books[], int *count) {
char name[50];
int i, j;
printf("请输入要删除的图书名:");
scanf("%s", name);
for (i = 0; i < *count; i++) {
if (strcmp(name, books[i].name) == 0) { //找到图书
for (j = i; j < *count - 1; j++) {
books[j] = books[j + 1]; //删除该图书
}
(*count)--; //图书数量减1
printf("删除成功!\n");
return;
}
}
printf("没有找到该图书!\n"); //未找到图书
}
```
这是一个基本的图书管理系统,可以添加、查找、显示、删除图书。可以根据需要进行修改和完善。
阅读全文