c语言图书管理系统
时间: 2023-07-03 10:06:19 浏览: 79
好的,下面是一个简单的C语言图书管理系统的代码示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100 // 最大书籍数
struct book {
char title[50];
char author[50];
int year;
float price;
};
struct book library[MAX_BOOKS]; // 图书馆
int num_books = 0; // 当前书籍数
void add_book() { // 添加书籍
if (num_books >= MAX_BOOKS) {
printf("图书馆已满,无法添加新书!\n");
return;
}
struct book new_book;
printf("请输入书籍名:");
scanf("%s", new_book.title);
printf("请输入作者名:");
scanf("%s", new_book.author);
printf("请输入出版年份:");
scanf("%d", &new_book.year);
printf("请输入价格:");
scanf("%f", &new_book.price);
library[num_books++] = new_book;
printf("书籍已成功添加!\n");
}
void remove_book() { // 删除书籍
if (num_books <= 0) {
printf("图书馆为空,无法删除书籍!\n");
return;
}
char title[50];
printf("请输入要删除的书籍名:");
scanf("%s", title);
int i;
for (i = 0; i < num_books; i++) {
if (strcmp(library[i].title, title) == 0) {
int j;
for (j = i; j < num_books - 1; j++) {
library[j] = library[j + 1];
}
num_books--;
printf("书籍已成功删除!\n");
return;
}
}
printf("未找到该书籍!\n");
}
void display_books() { // 显示所有书籍
if (num_books <= 0) {
printf("图书馆为空!\n");
return;
}
int i;
for (i = 0; i < num_books; i++) {
printf("%s\t%s\t%d\t%.2f\n", library[i].title, library[i].author, library[i].year, library[i].price);
}
}
int main() {
int choice;
do {
printf("请选择操作:\n");
printf("1. 添加书籍\n");
printf("2. 删除书籍\n");
printf("3. 显示所有书籍\n");
printf("4. 退出程序\n");
printf(">>> ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
remove_book();
break;
case 3:
display_books();
break;
case 4:
printf("程序已退出!\n");
break;
default:
printf("无效的操作!\n");
break;
}
} while (choice != 4);
return 0;
}
```
该图书管理系统可以进行添加书籍、删除书籍、显示所有书籍等操作。在程序运行时,用户会被提示选择操作,选择相应的操作后即可进行对应的操作。