您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化 > C++图书馆管理系统
1《图书管理系统的设计》面向对象程序设计实习报告专业:网络工程班级:11级2班姓名:赵文琪张人文郑瑞江周亚军马家龙亢立强指导教师:黄海鸥二○一○年十二月二十日2目录1.设计的任务.........................................................................................................................31.1设计的目的.................................................................................................................31.2设计内容.....................................................................................................................32.对问题的分析理解.............................................................................................................32.1问题的理解................................................................................................................32.2对问题分析.................................................................................................................33.采用的对象模型.................................................................................................................33.1程序功能....................................................................................................................33.2程序流程图................................................................................................................54.模型中设计的知识点.........................................................................................................55.设计用的计算机环境.........................................................................................................56.测试结果.............................................................................................................................66.1管理员身份登录........................................................................................................66.2读者身份登录:........................................................................................................77.结论.....................................................................................................................................88.源代码.................................................................................................................................9参考书目.........................................................................................................................2531.设计的任务1.1设计的目的巩固并加深学生对面向对象程序设计知识的理解;培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;进一步掌握和运用VC++6.0集成开发环境;提高运用C++语言解决实际问题的能力;初步掌握开发小型使用软件的基本方法,能独立设计并实现基本的MIS系统;运用所学完成图书管理系统的设计。1.2设计内容建立图书馆管理系统,用户分为图书管理人员,读者。管理人员可以增加删除查看图书、读者。读者只能查看自身信息,和借还书。图书查询管理:通过各种方式可以来进行查阅。2.对问题的分析理解2.1问题的理解由于管理系统用户有图书管理员和读者,但两者的权限不同,管理员有权访问所有图书信息和管理员信息,而读者只能访问所有图书信息和自身的信息。2.2对问题分析所以他们的相同点:都能访问所有图书信息。不同点:管理员能访问所有读者信息而管理员只能访问自身信息而不能访问其它读者信息;故此设计了三个类程序包含三个类:图书类(books),管理员类(manager),读者类reader,books类为抽象类,manager,和reader类为books类的派生类。为了能让管理员和读者访问所有图书信息,所有都继承了books类;而为了分出两者的权限的不同,所以把所有读者的信息做为一个链表作为管理员的一个私有成员,而读者却只能放一个自身节点作为读者的私有成员,然后分别设计各个类的成员函数。3.采用的对象模型3.1程序功能Classbooks///虚基类{protected:4books_node*broot;public:books();//构造函数savebooks();//保存修改的内容search_book();//查找某一本书print_books();//输出所有书的信息virtualadd_book()=0;//对于读者是还书,对于管理员添加书virtualdelet_book()=0;//对于读者是借书,对于管理员是去掉某一本书};Classmanager:publicbooks//管理员类{protected:readers_node*rroot;public:manager(readers_node*);savereaders();add_book();//添加图书信息delet_book();//删除图书search_reader();//查找读者信息add_reader();//添加读者delet_reader();//删除读者print_readers();//输出所有读者};classreader:publicbooks{//读者类private:readers_node*personnel;//存放读者自身信息public:reader(readers_node*);add_book();//还书reader_borrow();delet_book();reader_return();//借书print_me();//查看自己借书情况save_readers(readers_node*);};53.2程序流程图图3-1图书流程图4.模型中设计的知识点抽象类:在C++中,含有纯虚拟函数的类称为抽象类,不能生成对象的类。构造函数:在对象被创建时由系统自动调用的成员函数,主要用来在创建对象时初始化对象即为对象成员变量赋初始值。类:类是定义同一类所有对象的变量和方法派生类:是在基类的基础上产生的特殊类,基类是派生类的抽象描述,,根据面向对象的继承机制,派生类自动继承了基类的成员。异常处理的思想:分离异常的抛出和异常的处理5.设计用的计算机环境Window7VC++6.066.测试结果6.1管理员身份登录输入登录密码界面7管理员身份输入4得到的结果管理员身份登录显示结果6.2读者身份登录:输入用户名,例如2,出现下图,不存在该用户名,任意键继续。输入用户名18出现的信息如图所示7.结论通过这次的课程设计,让我充分的感觉到了要自己设计一个程序是多么的难,以及学习好c++是多么的重要。在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。看网上的例子好像觉得也没那么难,自己一上机实际操作就出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。9以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。8.源代码#includeiostream.h#includefstream.h#includestring.h#includestdlib.h#includestdio.h#includeconio.h#definemax3typedefstructBooks{charbook_name[15];inttotal_num;intborrow_num;charbook_num[15];Books*next;}books_node;typedefstructReaders{charreader_name[15];charreader_no[15];intreader_borrow_num;structReader_borrow_books{charborrow_books_name[15];charborrow_books_no[15];}reader_borrow_book[max];Readers*next;}readers_node;classbooks{protected:books_node*broot;public:books();savebooks();search_book();print_books();virtualadd_book()=0;virtualdelet_book()=0;};classmanager:publicbooks{10protected:readers_node*rroot;public:manager(readers_node*);savereaders();add_book();delet_book();search_reader();add_reader();delet_reader();print_readers();};classreader:publicbooks{private:readers_node*personnel;public:reader(readers_node*);add_book();reader_borrow();delet_book();reader_
本文标题:C++图书馆管理系统
链接地址:https://www.777doc.com/doc-3591364 .html