课程名称:程序设计综合实训设计题目: 图书管理系统 姓 名:学 号:专业班级:指导老师:完成日期:1 设计任务1.1 设计目的运用所学知识,完成图书馆管理系统,通过实践加强对所学知识的理解和巩固1.2 设计容建立图书馆管理系统,用户分为图书管理人员,读者。管理人员可以增加删除查看图书、读者。读者只能查看自身信息,和借还书1.3 设计指标或者要求管理人员可以访问任意图书和读者,而读者只能借还图书馆存在的图书和查看自己的信息。2 设计过程分析:由于管理系统用户有图书管理员和读者,但两者的权限不同,管理员有权访问所有图书信息和管理员信息,而读者只能访问所有图书信息和自身的信息。所以他们的一样点:都能访问所有图书信息不同点:管理员能访问所有读者信息而管理员只能访问自身信息而不能访问其它读者信息;故此设计了三个类程序包含三个类:图书类(books),管理员类(manager),读者类 reader,books 类为抽象类,manager,和 reader 类为 books 类的派生类。为了能让管理员和读者访问所有图书信息,所有都继承了 books 类;而为了分出两者的权限的不同,所以把所有读者的信息做为一个链表作为管理员的一个私有成员,而读者却只能放一个自身节点作为读者的私有成员,然后分别设计各个类的成员函数。2.1 程序功能Class books ///虚基类{ protected:books_node *broot;public:books();//构造函数savebooks();//保存修改的容search_book();//查找某一本书print_books();//输出所有书的信息virtual add_book()=0;//对于读者是还书,对于管理员添加书virtual delet_book()=0;//对于读者是借书,对于管理员是去掉某一本书};Class manager:public books //管理员类 {protected:readers_node *rroot;public:manager(readers_node*);savereaders();add_book();//添加图书信息delet_book();//删除图书search_reader();//查找读者信息add_reader();//添加读者delet_reader();//删除读者print_readers();//输出所有读者};class reader:public books{//读者类private:readers_node* personnel;//存放读者自身信息public:reader(readers_node*);add_book();//还书reader_borrow();delet_book();reader_return();//借书print_me();//查看自己借书情况save_readers(readers_node*);};2.2 程序流程图开始菜单管理员菜单读者菜单添 删加 除图 图书 书添 删加 除读 读者 者借 还 查 查 看 看 ...