C语言图书借阅系统实现:借书功能代码解析
C语言图书借阅系统:借书功能代码解析
本文将深入解析C语言图书借阅系统中void borrow_book()借书函数的代码实现。该函数主要负责处理用户借书的逻辑,包括用户输入、图书信息查找、借阅状态更新等步骤。
void borrow_book() {
// 借书函数
system("cls");
int student_id,book_id;
char id[20];
printf("请输入书籍编号和学生学号: \n");
scanf("%d %d", &book_id,&student_id);
sprintf(id, "%d", book_id);
for (int i = 0; i < book_count; i++) {
if (strcmp(id,books[i].id)==0&& books[i].available==1) {
books[i].available = 0;
MessageBox(NULL,"借阅成功","温馨提示",MB_OK+MB_ICONQUESTION);
for (int j = 0; j < student_count; j++) {
if ((int)students[j].id == student_id) {
for (int k = 0; k < MAX_BOOKS; k++) {
if (students[j].borrowed_books[k] == 0) {
students[j].borrowed_books[k]=book_id;
break;
}
}
break;
}
}
break;
}
if (strcmp(id,books[i].id)!=0|| books[i].available==0)
MessageBox(NULL,"此书已被借阅或书籍编号错误","借阅失败",MB_OK+MB_ICONQUESTION);
}
}
代码解析:
-
用户输入: 代码首先使用
printf()函数提示用户输入书籍编号和学生学号,并使用scanf()函数获取用户输入的数值。 -
图书信息查找: 循环遍历
books数组,使用strcmp()函数比较用户输入的书籍编号与数组中每本书籍的编号。 -
借阅状态更新: 若找到匹配的书籍,且该书籍可借阅(
books[i].available == 1),则执行以下操作:- 将该书籍的
available属性设置为0,表示该书籍已被借出。 - 弹出提示框,告知用户借阅成功。
- 遍历
students数组,找到对应学生的记录,将借阅的书籍编号存储在borrowed_books数组中。
- 将该书籍的
-
借阅失败: 若用户输入的书籍编号不存在或该书籍已被借阅,则弹出提示框,告知用户借阅失败。
关键代码解释: if (strcmp(id, books[i].id) == 0 && books[i].available == 1)
这行代码的作用是判断当前图书的编号和用户输入的图书编号是否相同,并且判断该图书是否可借。如果相同并且可借,则将该图书的available属性设置为0,表示该图书已被借出。如果不相同或者不可借,则弹出提示框告知用户借阅失败的原因。
总结: 该借书函数实现了用户输入、图书信息查找、借阅状态更新等功能,并通过提示框告知用户借阅结果。该代码结构清晰,逻辑简单,易于理解和维护,为学习C语言图书借阅系统开发提供了很好的示例。
更多内容:
- 可以根据实际需求扩展该函数,例如添加借阅期限、超期提醒等功能。
- 可以使用数据库存储图书和学生信息,提高系统的可扩展性和数据安全性。
- 可以使用图形界面,提升用户体验。
原文地址: https://www.cveoy.top/t/topic/oEdu 著作权归作者所有。请勿转载和采集!