图书:序号,编号,书名,单价,是否借出 要求可以添加,输出,按单价排序,按书名删除 通过cfree编程
时间: 2024-03-12 18:47:39 浏览: 59
cfree编程软件
好的,以下是一个简单的 C 代码示例,实现添加图书、输出图书信息、按单价排序和按书名删除功能。
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100
struct book {
int id; // 序号
char code[20]; // 编号
char title[50]; // 书名
double price; // 单价
int borrowed; // 是否借出,0表示未借出,1表示已借出
};
struct book books[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.code);
printf("请输入图书名称:");
scanf("%s", new_book.title);
printf("请输入图书单价:");
scanf("%lf", &new_book.price);
new_book.borrowed = 0;
books[num_books++] = new_book;
printf("添加成功!\n");
}
// 输出图书信息
void print_books() {
printf("序号\t编号\t书名\t\t单价\t是否借出\n");
for (int i = 0; i < num_books; i++) {
printf("%d\t%s\t%s\t%.2lf\t%s\n", i+1, books[i].code, books[i].title, books[i].price, books[i].borrowed ? "是" : "否");
}
}
// 按单价排序
void sort_by_price() {
for (int i = 0; i < num_books - 1; i++) {
for (int j = i + 1; j < num_books; j++) {
if (books[i].price > books[j].price) {
struct book temp = books[i];
books[i] = books[j];
books[j] = temp;
}
}
}
printf("按单价排序完成!\n");
}
// 按书名删除
void delete_book_by_title() {
char title[50];
printf("请输入要删除的图书名称:");
scanf("%s", title);
int found = 0;
for (int i = 0; i < num_books; i++) {
if (strcmp(books[i].title, title) == 0) {
found = 1;
for (int j = i; j < num_books - 1; j++) {
books[j] = books[j+1];
}
num_books--;
printf("删除成功!\n");
break;
}
}
if (!found) {
printf("找不到要删除的图书!\n");
}
}
int main() {
while (1) {
printf("请选择操作:\n");
printf("1. 添加图书\n");
printf("2. 输出图书信息\n");
printf("3. 按单价排序\n");
printf("4. 按书名删除\n");
printf("0. 退出程序\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
print_books();
break;
case 3:
sort_by_price();
break;
case 4:
delete_book_by_title();
break;
case 0:
return 0;
default:
printf("无效的选项!\n");
}
}
return 0;
}
```
上述代码中,我们使用结构体 `book` 存储每一本图书的信息,使用一个全局数组 `books` 存储所有图书,使用变量 `num_books` 记录当前图书数量。
具体实现细节可以参考代码中的注释。
阅读全文