c语言制作一个图书管理系统
时间: 2023-08-25 08:25:42 浏览: 31
好的,下面是一个简单的图书管理系统的代码,供您参考。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100 // 图书馆最大容量
// 图书信息结构体
typedef struct{
char name[20]; // 书名
char author[20]; // 作者
char press[20]; // 出版社
char date[20]; // 出版日期
int num; // 库存数量
} Book;
Book books[MAX]; // 图书数组
int count = 0; // 当前图书数量
// 添加图书
void addBook(){
if(count == MAX){
printf("图书馆已满,无法添加!\n");
return;
}
// 输入图书信息
printf("请输入图书信息:\n");
printf("书名:");
scanf("%s", books[count].name);
printf("作者:");
scanf("%s", books[count].author);
printf("出版社:");
scanf("%s", books[count].press);
printf("出版日期:");
scanf("%s", books[count].date);
printf("库存数量:");
scanf("%d", &books[count].num);
count++; // 修改图书数量
printf("添加成功!\n");
}
// 显示图书列表
void showList(){
if(count == 0){
printf("图书馆为空!\n");
return;
}
printf("当前图书列表:\n");
printf("编号\t书名\t\t作者\t\t出版社\t\t出版日期\t库存数量\n");
for(int i = 0; i < count; i++){
printf("%d\t%s\t\t%s\t\t%s\t\t%s\t\t%d\n", i+1, books[i].name, books[i].author, books[i].press, books[i].date, books[i].num);
}
}
// 查找图书
void searchBook(){
if(count == 0){
printf("图书馆为空!\n");
return;
}
char name[20];
printf("请输入要查找的书名:");
scanf("%s", name);
for(int i = 0; i < count; i++){
if(strcmp(name, books[i].name) == 0){
printf("编号\t书名\t\t作者\t\t出版社\t\t出版日期\t库存数量\n");
printf("%d\t%s\t\t%s\t\t%s\t\t%s\t\t%d\n", i+1, books[i].name, books[i].author, books[i].press, books[i].date, books[i].num);
return;
}
}
printf("未找到该书籍!\n");
}
// 修改图书信息
void modifyBook(){
if(count == 0){
printf("图书馆为空!\n");
return;
}
int index;
printf("请输入要修改的图书编号:");
scanf("%d", &index);
index--;
if(index < 0 || index >= count){
printf("输入编号有误!\n");
return;
}
// 输入新的图书信息
printf("请输入新的图书信息:\n");
printf("书名:");
scanf("%s", books[index].name);
printf("作者:");
scanf("%s", books[index].author);
printf("出版社:");
scanf("%s", books[index].press);
printf("出版日期:");
scanf("%s", books[index].date);
printf("库存数量:");
scanf("%d", &books[index].num);
printf("修改成功!\n");
}
// 删除图书
void deleteBook(){
if(count == 0){
printf("图书馆为空!\n");
return;
}
int index;
printf("请输入要删除的图书编号:");
scanf("%d", &index);
index--;
if(index < 0 || index >= count){
printf("输入编号有误!\n");
return;
}
for(int i = index; i < count-1; i++){
books[i] = books[i+1];
}
count--;
printf("删除成功!\n");
}
int main(){
int choice;
while(1){
// 显示菜单
printf("\n\n欢迎使用图书管理系统!\n");
printf("1. 添加图书\n");
printf("2. 显示图书列表\n");
printf("3. 查找图书\n");
printf("4. 修改图书信息\n");
printf("5. 删除图书\n");
printf("0. 退出程序\n");
printf("请输入功能编号:");
scanf("%d", &choice);
switch(choice){
case 0:
printf("感谢使用本系统!\n");
exit(0); // 退出程序
case 1:
addBook(); // 添加图书
break;
case 2:
showList(); // 显示图书列表
break;
case 3:
searchBook(); // 查找图书
break;
case 4:
modifyBook(); // 修改图书信息
break;
case 5:
deleteBook(); // 删除图书
break;
default:
printf("输入编号有误!\n");
}
}
return 0;
}
```
该代码实现了以下功能:
1. 添加图书
2. 显示图书列表
3. 查找图书
4. 修改图书信息
5. 删除图书
您可以根据自己的需求进行修改和完善。