c语言:编写代码输出借用图书信息
时间: 2023-08-09 15:09:41 浏览: 82
以下是一个简单的 C 语言代码示例,用于输出借用图书信息:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100
struct Book {
char title[50];
char author[50];
int year;
int quantity;
};
struct Book library[MAX_BOOKS];
int num_books = 0;
void add_book(char* title, char* author, int year, int quantity) {
strcpy(library[num_books].title, title);
strcpy(library[num_books].author, author);
library[num_books].year = year;
library[num_books].quantity = quantity;
num_books++;
}
void show_books() {
int i;
printf("Title\t\tAuthor\t\tYear\tQuantity\n");
printf("----------------------------------------------------\n");
for (i = 0; i < num_books; i++) {
printf("%s\t%s\t%d\t%d\n", library[i].title, library[i].author, library[i].year, library[i].quantity);
}
}
void borrow_book(char* title) {
int i, found = 0;
printf("所有图书信息如下:\n");
show_books();
if (num_books == 0) {
printf("\n");
}
else {
printf("请输入你借用的图书名称:\n");
scanf("%s", title);
for (i = 0; i < num_books; i++) {
if (strcmp(library[i].title, title) == 0) {
found = 1;
if (library[i].quantity > 0) {
library[i].quantity--;
printf("成功借用《%s》!\n", title);
}
else {
printf("《%s》已经被借完了!\n", title);
}
break;
}
}
if (!found) {
printf("没有找到该书!\n");
}
}
}
int main() {
add_book("The Catcher in the Rye", "J.D. Salinger", 1951, 3);
add_book("To Kill a Mockingbird", "Harper Lee", 1960, 2);
add_book("1984", "George Orwell", 1949, 5);
borrow_book(" ");
return 0;
}
```
在这个示例中,我们定义了一个 `Book` 结构体来存储图书信息,包括书名、作者、出版年份和库存数量。我们还定义了一个 `library` 数组来存储所有图书的信息,并使用 `num_books` 变量来跟踪库存中有多少本书。
我们实现了三个函数:`add_book` 用于添加新书到库存中,`show_books` 用于显示所有库存中的图书信息,以及 `borrow_book` 用于借用图书。在 `borrow_book` 函数中,我们首先打印出所有图书的信息,然后要求用户输入他们要借用的图书名称。我们使用 `strcmp` 函数比较输入的图书名称和库存中每本书的名称,以确定用户是否输入了正确的书名。如果找到了匹配项,我们检查图书的库存数量是否大于0。如果是,则减少库存数量并输出成功的借书信息。否则,我们将输出一条消息告诉用户该书已经被借完了。如果没有找到匹配项,则输出一条消息告诉用户没有找到该书。
在 `main` 函数中,我们添加了三本书,并调用 `borrow_book` 函数来借用一本书。你可以根据需要修改这个示例,以满足你的实际需求。
阅读全文