按照图书名查询图书借阅信息(某一图书借阅记录的显示)C语言
时间: 2023-12-05 12:03:44 浏览: 80
以下是C语言代码示例,假设图书借阅信息存储在一个结构体数组中:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100 // 最大图书数目
struct book {
char title[50];
char author[50];
int year;
int borrowed;
};
struct book books[MAX_BOOKS]; // 存储图书信息的数组
int num_books = 0; // 当前已有的图书数目
void add_book(char title[], char author[], int year) {
if (num_books < MAX_BOOKS) {
strcpy(books[num_books].title, title);
strcpy(books[num_books].author, author);
books[num_books].year = year;
books[num_books].borrowed = 0; // 初始时未借出
num_books++;
printf("添加成功!\n");
} else {
printf("添加失败,已达到最大图书数目!\n");
}
}
void borrow_book(char title[]) {
int i;
for (i = 0; i < num_books; i++) {
if (strcmp(books[i].title, title) == 0) {
if (books[i].borrowed == 0) {
books[i].borrowed = 1;
printf("借阅成功!\n");
} else {
printf("借阅失败,该图书已被借出!\n");
}
return;
}
}
printf("借阅失败,未找到该图书!\n");
}
void return_book(char title[]) {
int i;
for (i = 0; i < num_books; i++) {
if (strcmp(books[i].title, title) == 0) {
if (books[i].borrowed == 1) {
books[i].borrowed = 0;
printf("归还成功!\n");
} else {
printf("归还失败,该图书未被借出!\n");
}
return;
}
}
printf("归还失败,未找到该图书!\n");
}
void show_book(char title[]) {
int i;
for (i = 0; i < num_books; i++) {
if (strcmp(books[i].title, title) == 0) {
printf("图书名称:%s\n", books[i].title);
printf("作者:%s\n", books[i].author);
printf("出版年份:%d\n", books[i].year);
if (books[i].borrowed == 0) {
printf("该图书未被借出\n");
} else {
printf("该图书已被借出\n");
}
return;
}
}
printf("未找到该图书!\n");
}
int main() {
add_book("C语言程序设计", "谭浩强", 2014);
add_book("C++程序设计", "杨洪涛", 2015);
borrow_book("C语言程序设计");
show_book("C语言程序设计");
return_book("C语言程序设计");
show_book("C语言程序设计");
return 0;
}
```
在上面的代码中,`add_book` 函数用于添加新的图书,`borrow_book` 函数用于借阅图书,`return_book` 函数用于归还图书,`show_book` 函数用于显示某一图书借阅记录的信息。在 `show_book` 函数中,首先根据输入的图书名称查找对应的图书,然后输出该图书的名称、作者、出版年份以及是否被借出。
阅读全文