show_search_book_menu;
save_books;books_charts; add_user,;
view_users;
void (* admin_search_book_func[]),调用着search_book_by_name,
search_book_by_author,
search_book_by_pubdate, search_book_by_isbn, search_book_by_sort ;
void (* user_func[]),调用着view_book,
show_search_book_menu, show_books_record, books_charts,
user_exit;
(2)在查找图书中,无论是按什么方式查找,都调用了void borrow
(book* p)和
void _return(book* p)两个函数,即在读者每次查找完书之后,都询问
“是否借书”,“是否还书”的过程。
在退出系统的时候,管理员和用户的退出是不一样的,在管理员退出的时
候,有admin_exit,调用的函数是save_users_to_file();
clear_users();
(); exit(0);
而用户退出的时候,调用的是clear_users(); ();
3.3主控模块(main函数)的流程分析与设计(要画出主函数的流程图)
exit(0);
clear_books
save_books_to_file();
clear_books
search_book_by_publisher,
admin_exit; search_user;
save_users;
delete_book;update_book;
Y N Y N 开始 输入用户名和密码 Y 判断输入的用户名和密码是否正确? N 重试? 判断输入的用户名是否为管理员? 显示管理员登陆菜单 显示用户管理菜单 继续下一步 结束 3.4主要功能模块的流程分析与设计(分别画出各主要功能模块实现的流程图)
(1)普通用户登陆 N N N Y Y Y 开始 输入用户名和密码 判断输入的用N 重试? 户名和密码是 否正确? N 显示用户管理菜单 浏览图书 查找图书 查看已借书籍 排行榜 退出系统 继续? Y 继Y A 续? 继续? 结束
Y N N Y A 按书名查找 按作者查找 按出版社查找 按出版日期查找 按ISBN查找 按图书类型查找 返回主菜单 判断该书是否已借? 断Y 判 该 借 书 人 N 是否为该用户? 是否要借这本书? 是否要还这本书? N Y N 借书成功 还书成功 是否要继续查找书籍? 主菜单界面 N