C语言实现图书信息管理系统,图书信息的增加,删除,修改,查找,排序,计算
时间: 2024-01-08 13:03:04 浏览: 18
实现图书信息管理系统可以分为以下几个步骤:
1. 定义图书信息结构体
```c
typedef struct book {
char title[50]; // 书名
char author[20]; // 作者
char publisher[30]; // 出版社
float price; // 价格
int count; // 库存
} Book;
```
2. 实现图书信息的增加
```c
void add_book(Book books[], int *count) {
printf("请输入书名:");
scanf("%s", books[*count].title);
printf("请输入作者:");
scanf("%s", books[*count].author);
printf("请输入出版社:");
scanf("%s", books[*count].publisher);
printf("请输入价格:");
scanf("%f", &books[*count].price);
printf("请输入库存:");
scanf("%d", &books[*count].count);
(*count)++;
printf("添加成功!\n");
}
```
3. 实现图书信息的删除
```c
void delete_book(Book books[], int *count) {
char title[50];
printf("请输入要删除的书名:");
scanf("%s", title);
int i, j;
for (i = 0; i < *count; i++) {
if (strcmp(title, books[i].title) == 0) {
for (j = i; j < *count - 1; j++) {
books[j] = books[j+1];
}
(*count)--;
printf("删除成功!\n");
return;
}
}
printf("找不到该书!\n");
}
```
4. 实现图书信息的修改
```c
void modify_book(Book books[], int count) {
char title[50];
printf("请输入要修改的书名:");
scanf("%s", title);
int i;
for (i = 0; i < count; i++) {
if (strcmp(title, books[i].title) == 0) {
printf("请输入新的作者:");
scanf("%s", books[i].author);
printf("请输入新的出版社:");
scanf("%s", books[i].publisher);
printf("请输入新的价格:");
scanf("%f", &books[i].price);
printf("请输入新的库存:");
scanf("%d", &books[i].count);
printf("修改成功!\n");
return;
}
}
printf("找不到该书!\n");
}
```
5. 实现图书信息的查找
```c
void search_book(Book books[], int count) {
char title[50];
printf("请输入要查找的书名:");
scanf("%s", title);
int i;
for (i = 0; i < count; i++) {
if (strcmp(title, books[i].title) == 0) {
printf("%-50s%-20s%-30s%-10.2f%-10d\n", books[i].title, books[i].author, books[i].publisher, books[i].price, books[i].count);
return;
}
}
printf("找不到该书!\n");
}
```
6. 实现图书信息的排序
```c
void sort_book(Book books[], int count) {
int i, j;
Book temp;
for (i = 0; i < count - 1; i++) {
for (j = 0; j < count - i - 1; j++) {
if (strcmp(books[j].title, books[j+1].title) > 0) {
temp = books[j];
books[j] = books[j+1];
books[j+1] = temp;
}
}
}
printf("排序成功!\n");
}
```
7. 实现图书信息的计算
```c
void calculate_book(Book books[], int count) {
float total_price = 0;
int total_count = 0;
int i;
for (i = 0; i < count; i++) {
total_price += books[i].price * books[i].count;
total_count += books[i].count;
}
printf("总价格:%10.2f\n", total_price);
printf("总库存:%10d\n", total_count);
}
```
完整代码如下: