c语言开发一个简单的图书信息管理系统。实现用户借阅信息查询;按照用户名查询用户借阅图书信息(某一用户借 容 阅图书的记录显示)(*)。
时间: 2024-05-01 13:23:41 浏览: 9
好的,下面是一个简单的图书信息管理系统的代码示例:
```c
#include <stdio.h>
#include <string.h>
// 定义图书结构体
struct Book {
int id; // 图书编号
char title[50]; // 图书名称
char author[20]; // 图书作者
int borrowed; // 是否被借出,1表示已借出,0表示未借出
char borrower[20]; // 借阅人姓名
};
// 定义图书数组,用于存储图书信息
struct Book books[10] = {
{1, "C程序设计", "谭浩强", 0, ""},
{2, "Java编程思想", "Bruce Eckel", 1, "张三"},
{3, "Python编程从入门到实践", "Eric Matthes", 0, ""},
{4, "算法导论", "Thomas H. Cormen", 0, ""},
{5, "深入浅出MySQL", "张晨曦", 1, "李四"}
};
// 显示菜单
void showMenu() {
printf("1. 查询所有图书信息\n");
printf("2. 借阅图书\n");
printf("3. 归还图书\n");
printf("4. 按照用户名查询用户借阅图书信息\n");
printf("0. 退出系统\n");
printf("请输入您的选择:");
}
// 查询所有图书信息
void showBooks() {
printf("图书编号\t图书名称\t图书作者\t是否借出\t借阅人姓名\n");
for (int i = 0; i < 5; i++) {
printf("%d\t\t%s\t\t%s\t\t%s\t\t%s\n", books[i].id, books[i].title, books[i].author, books[i].borrowed == 1 ? "是" : "否", books[i].borrower);
}
}
// 借阅图书
void borrowBook() {
int id;
printf("请输入要借阅的图书编号:");
scanf("%d", &id);
for (int i = 0; i < 5; i++) {
if (books[i].id == id) {
if (books[i].borrowed == 1) {
printf("该图书已借出,请选择其他图书。\n");
} else {
printf("借阅成功,请输入您的姓名:");
scanf("%s", books[i].borrower);
books[i].borrowed = 1;
}
return;
}
}
printf("未找到编号为%d的图书。\n", id);
}
// 归还图书
void returnBook() {
int id;
printf("请输入要归还的图书编号:");
scanf("%d", &id);
for (int i = 0; i < 5; i++) {
if (books[i].id == id) {
if (books[i].borrowed == 0) {
printf("该图书未被借出,无需归还。\n");
} else {
printf("归还成功,欢迎下次借阅。\n");
books[i].borrowed = 0;
strcpy(books[i].borrower, "");
}
return;
}
}
printf("未找到编号为%d的图书。\n", id);
}
// 按照用户名查询用户借阅图书信息
void searchByBorrower() {
char name[20];
printf("请输入用户名:");
scanf("%s", name);
printf("图书编号\t图书名称\t图书作者\t是否借出\t借阅人姓名\n");
for (int i = 0; i < 5; i++) {
if (strcmp(books[i].borrower, name) == 0) {
printf("%d\t\t%s\t\t%s\t\t%s\t\t%s\n", books[i].id, books[i].title, books[i].author, books[i].borrowed == 1 ? "是" : "否", books[i].borrower);
}
}
}
int main() {
int choice;
while (1) {
showMenu();
scanf("%d", &choice);
switch (choice) {
case 1:
showBooks();
break;
case 2:
borrowBook();
break;
case 3:
returnBook();
break;
case 4:
searchByBorrower();
break;
case 0:
printf("谢谢使用,再见!\n");
return 0;
default:
printf("无效的选择,请重新输入。\n");
break;
}
}
}
```
这个程序中,我们定义了一个图书结构体,包含图书编号、图书名称、图书作者、是否被借出以及借阅人姓名等信息。我们使用一个图书数组来存储图书信息,然后实现了查询所有图书信息、借阅图书、归还图书以及按照用户名查询用户借阅图书信息等功能。