定义一个描述学校图书管图书信息的结构,包括书名,作者,价格等。编程: 1. 编写 input()函数,输入图书信息(5条记录)即:顺序表的插入 2. 编写 printfO函数,输出全体图书信息;即顺序表的输出
时间: 2024-10-09 19:11:56 浏览: 49
为了定义一个描述学校图书馆图书信息的结构,我们可以创建一个名为`BookInfo`的结构体,包含书名、作者和价格等字段。然后我们可以使用C语言的数组或链表来实现顺序表的操作。
首先,让我们定义 `BookInfo` 结构:
```c
typedef struct {
char title[100]; // 书名,假设最大长度为100个字符
char author[50]; // 作者姓名,同样假设最大长度为50个字符
float price; // 图书价格
} BookInfo;
```
接下来,我们实现输入图书信息的函数(使用顺序表的插入):
```c
void input(BookInfo book[], int num_books) {
for (int i = 0; i < num_books; i++) {
printf("请输入第 %d 本书的信息(书名,作者,价格):\n", i + 1);
fgets(book[i].title, sizeof(book[i].title), stdin); // 读取书名,注意处理换行符
fgets(book[i].author, sizeof(book[i].author), stdin); // 读取作者
scanf("%f", &book[i].price); // 读取价格并忽略多余的空格
getchar(); // 消耗掉回车符
}
}
```
然后,编写打印所有图书信息的函数(顺序表的输出):
```c
void printBookInfo(BookInfo book[], int num_books) {
for (int i = 0; i < num_books; i++) {
printf("书名:%s\n作者:%s\n价格:%.2f\n\n", book[i].title, book[i].author, book[i].price);
}
}
```
现在你可以按照以下方式调用这两个函数:
```c
int main() {
const int MAX_BOOKS = 5; // 最大书籍数
BookInfo books[MAX_BOOKS];
// 输入5本图书信息
input(books, MAX_BOOKS);
// 输出所有图书信息
printBookInfo(books, MAX_BOOKS);
return 0;
}
```
阅读全文