Book bookList[MAX_BOOKS]={ {"1","唐诗三百首","孙洙","南京大学出版社",1}, {"2","三体","刘慈欢","北美权威科幻类出版社",1}, {"3","稻草人","叶圣陶","湖南儿童出版社",1}, {"4","老人与海","海明威","上海译文出版社",1}, {"5","c语言","泰戈尔","浙江文艺出版社",1}}; 实现借书系统,要求登录成功后才可使用该功能,否则continue到下次循环。程序首先打印书单,在借书完成后打印出借完书后的书单。(C语言)
时间: 2023-07-19 09:51:28 浏览: 43
好的,这是一个简单的借书系统,您可以参考一下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 5
typedef struct {
char id[10];
char name[50];
char author[20];
char publisher[50];
int status; // 1表示可借,0表示已借出
} Book;
Book bookList[MAX_BOOKS]={
{"1","唐诗三百首","孙洙","南京大学出版社",1},
{"2","三体","刘慈欢","北美权威科幻类出版社",1},
{"3","稻草人","叶圣陶","湖南儿童出版社",1},
{"4","老人与海","海明威","上海译文出版社",1},
{"5","c语言","泰戈尔","浙江文艺出版社",1}
};
void printBookList() {
printf("书单列表:\n");
printf("编号\t书名\t\t作者\t\t出版社\t\t状态\n");
for (int i = 0; i < MAX_BOOKS; i++) {
printf("%s\t%s\t%s\t%s\t%s\n",
bookList[i].id,
bookList[i].name,
bookList[i].author,
bookList[i].publisher,
bookList[i].status == 1 ? "可借" : "已借出");
}
}
int main() {
int isLogin = 0;
char username[20];
char password[20];
while (!isLogin) {
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
if (strcmp(username, "admin") == 0 && strcmp(password, "123456") == 0) {
isLogin = 1;
} else {
printf("用户名或密码错误,请重新输入!\n");
}
}
printf("登录成功!\n");
printBookList();
while (1) {
char id[10];
printf("请输入要借的书的编号(输入0退出):");
scanf("%s", id);
if (strcmp(id, "0") == 0) {
break;
}
int index = -1;
for (int i = 0; i < MAX_BOOKS; i++) {
if (strcmp(id, bookList[i].id) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("输入的编号有误,请重新输入!\n");
continue;
}
if (bookList[index].status == 0) {
printf("该书已借出,请选择其他书籍!\n");
continue;
}
bookList[index].status = 0;
printf("借书成功!\n");
printBookList();
}
printf("退出程序!\n");
return 0;
}
```
程序首先要求用户登录,登录成功后打印书单。用户输入要借的书籍编号,程序检查该书是否可借,如果可借则将该书的状态改为已借出,并打印借书成功信息和更新的书单;如果不可借,则提示用户选择其他书籍。如果用户输入0,则退出程序。