引言在图书馆或学校等机构中,图书管理是一个非常重要的环节。使用C语言开发一个图书管理系统可以帮助管理人员高效地管理图书的借阅和归还。本文将详细介绍如何使用C语言实现一个基本的图书管理系统。系统设计1....
在图书馆或学校等机构中,图书管理是一个非常重要的环节。使用C语言开发一个图书管理系统可以帮助管理人员高效地管理图书的借阅和归还。本文将详细介绍如何使用C语言实现一个基本的图书管理系统。
typedef struct { int id; char title[50]; char author[50]; char publisher[50]; int year; char status[10]; // "available" 或 "borrowed"
} Book;typedef struct { int id; char name[50]; char password[50]; int role; // 0: 普通用户,1: 管理员
} User;void addBook(Book *books, int *bookCount) { Book newBook; printf("请输入图书ID: "); scanf("%d", &newBook.id); printf("请输入图书名称: "); scanf("%s", newBook.title); printf("请输入作者: "); scanf("%s", newBook.author); printf("请输入出版社: "); scanf("%s", newBook.publisher); printf("请输入出版年份: "); scanf("%d", &newBook.year); strcpy(newBook.status, "available"); books[*bookCount] = newBook; (*bookCount)++; printf("图书添加成功!\n");
}void deleteBook(Book *books, int *bookCount) { int id; printf("请输入要删除的图书ID: "); scanf("%d", &id); for (int i = 0; i < *bookCount; i++) { if (books[i].id == id) { for (int j = i; j < *bookCount - 1; j++) { books[j] = books[j + 1]; } (*bookCount)--; printf("图书删除成功!\n"); return; } } printf("未找到该图书!\n");
}void borrowBook(Book *books, int *bookCount, User *users) { int id; printf("请输入图书ID: "); scanf("%d", &id); for (int i = 0; i < *bookCount; i++) { if (books[i].id == id && strcmp(books[i].status, "available") == 0) { strcpy(books[i].status, "borrowed"); printf("借书成功!\n"); return; } } printf("图书不存在或不可借!\n");
}void returnBook(Book *books, int *bookCount) { int id; printf("请输入图书ID: "); scanf("%d", &id); for (int i = 0; i < *bookCount; i++) { if (books[i].id == id && strcmp(books[i].status, "borrowed") == 0) { strcpy(books[i].status, "available"); printf("还书成功!\n"); return; } } printf("图书不存在或未借出!\n");
}void registerUser(User *users, int *userCount) { User newUser; printf("请输入用户名: "); scanf("%s", newUser.name); printf("请输入密码: "); scanf("%s", newUser.password); newUser.role = 0; // 默认为普通用户 users[*userCount] = newUser; (*userCount)++; printf("用户注册成功!\n");
}int login(User *users, int userCount) { char username[50], password[50]; printf("请输入用户名: "); scanf("%s", username); printf("请输入密码: "); scanf("%s", password); for (int i = 0; i < userCount; i++) { if (strcmp(users[i].name, username) == 0 && strcmp(users[i].password, password) == 0) { return users[i].role; } } return -1; // 登录失败
}本文介绍了如何使用C语言实现一个基本的图书管理系统。通过以上代码示例,我们可以看到如何管理图书信息、借阅和归还图书,以及管理用户信息。在实际应用中,可以根据需求进一步扩展和优化系统功能。