用C语言制作一个图书管理系统
时间: 2023-10-03 18:06:51 浏览: 69
好的,下面是一个简单的图书管理系统的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100 // 图书最大数量
// 图书结构体
typedef struct book {
char title[50]; // 书名
char author[30]; // 作者
int year; // 出版年份
int id; // 书籍编号
} Book;
Book books[MAX_BOOKS]; // 图书数组
int numBooks = 0; // 图书数量
// 添加图书
void addBook() {
Book newBook;
printf("请输入书籍编号:");
scanf("%d", &newBook.id);
printf("请输入书名:");
scanf("%s", newBook.title);
printf("请输入作者:");
scanf("%s", newBook.author);
printf("请输入出版年份:");
scanf("%d", &newBook.year);
if (numBooks == MAX_BOOKS) {
printf("图书已达到最大数量,无法再添加!\n");
} else {
books[numBooks] = newBook;
numBooks++;
printf("图书添加成功!\n");
}
}
// 删除图书
void deleteBook() {
int id, i, j;
printf("请输入要删除的书籍编号:");
scanf("%d", &id);
for (i = 0; i < numBooks; i++) {
if (books[i].id == id) {
for (j = i; j < numBooks - 1; j++) {
books[j] = books[j+1];
}
numBooks--;
printf("图书删除成功!\n");
return;
}
}
printf("未找到该书籍!\n");
}
// 查找图书
void searchBook() {
int id, i;
printf("请输入要查找的书籍编号:");
scanf("%d", &id);
for (i = 0; i < numBooks; i++) {
if (books[i].id == id) {
printf("书籍编号:%d,书名:%s,作者:%s,出版年份:%d\n", books[i].id, books[i].title, books[i].author, books[i].year);
return;
}
}
printf("未找到该书籍!\n");
}
// 修改图书信息
void modifyBook() {
int id, i;
printf("请输入要修改的书籍编号:");
scanf("%d", &id);
for (i = 0; i < numBooks; i++) {
if (books[i].id == id) {
printf("请输入新的书名:");
scanf("%s", books[i].title);
printf("请输入新的作者:");
scanf("%s", books[i].author);
printf("请输入新的出版年份:");
scanf("%d", &books[i].year);
printf("图书信息修改成功!\n");
return;
}
}
printf("未找到该书籍!\n");
}
// 显示所有图书
void displayAllBooks() {
int i;
if (numBooks == 0) {
printf("暂无图书!\n");
} else {
printf("书籍编号\t书名\t\t作者\t\t出版年份\n");
for (i = 0; i < numBooks; i++) {
printf("%d\t\t%s\t\t%s\t\t%d\n", books[i].id, books[i].title, books[i].author, books[i].year);
}
}
}
// 主函数
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("6. 退出系统\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook();
break;
case 2:
deleteBook();
break;
case 3:
searchBook();
break;
case 4:
modifyBook();
break;
case 5:
displayAllBooks();
break;
case 6:
exit(0);
default:
printf("无效的选择,请重新选择!\n");
}
}
return 0;
}
```
这个程序可以添加、删除、查找、修改和显示所有图书。你可以根据需要进行修改和扩展。