收藏 分享(赏)

数据结构——图书管理系统.doc

上传人:精品资料 文档编号:10772322 上传时间:2020-01-08 格式:DOC 页数:15 大小:202.50KB
下载 相关 举报
数据结构——图书管理系统.doc_第1页
第1页 / 共15页
数据结构——图书管理系统.doc_第2页
第2页 / 共15页
数据结构——图书管理系统.doc_第3页
第3页 / 共15页
数据结构——图书管理系统.doc_第4页
第4页 / 共15页
数据结构——图书管理系统.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、石河子大学信息科学与技术学院计算机科学与技术专业课程设计报告二、结构图1.功能结构图图书管理系统新增图书信息的输入查询在架的图书信息恢复被删除图书信息为读者办理借书注册办理借书手续办理还书手续退出系统2.主流程图1三、程序设计的想法和具体思路图书管理系统分为图书管理和会员管理两大部分。设计一个图书类 Book,包括一本图书的基本管理功能,具有以下私有数据:int tag;/删除标记 1:已删 0:未删int no;/图书编号char name20;/书名int onshelf;/是否再架 1:再架 2:已借设计一个图书库类 BDatabase,具有以下私有数据:让用户选择要实行的操作.设置选择

2、变量 choiceStart输出提示借书 功能Choice=1还书 功能Choice=2图书 维护Choice=3读者 维护Choice=4退出 系统Choice=0StopChoice=其它数值提示输入错误2int top; /图书记录指针Book bookMaxb; /图书记录在其构造函数中,将 book.txt 文件的所有录入读到 book中。处理完毕,在析构函数中将 book中的所有未删除记录笑道 book.txt 文件中,中间的处理是对 book进行的。设计一个读者类 Reader,包括一个读者的基本管理功能,具有以下私有数据:int tag; /删除标记 1:已删 0:未删int

3、no; /读者编号char name10; /读者姓名int borbookMaxbor;/所借图书设计一个读者库类 RDatabase,具有以下私有数据:int top; /读者记录指针Reader readMaxr;/读者记录在其构造函数中,将 reader.txt 文件的所有记录读到 read中。处理完毕,在析构函数中将 read中的所有未删除记录写到 reader.txt 文件中,中间的处理都是对 reader进行的。四、参考文献1) 谭浩强, C+程序设计 ,北京,清华大学出版社,2006 年2) 李振鹏,张小莉,郑艳娟, 数据结构 ,中国铁道出版社,2007 年3) 杨小平, Vi

4、sualC+ 项目案例导航 ,北京,科学出版社,2002 年4) David Conger, 软件开发:编程与设计 ,北京,清华大学出版社,2006 年.5) Francis Glassborow Roberta Allen , You Can Do It!C+编程新手互动教程 ,北京,人民邮电出版社,2005 年五、课程设计总结心得体会选到这个课程设计题目的时候,感觉挺简单的,查找,增加,显示,统计,这些平时都学过,用过,但是实际操作中还是遇到了很多问题,所以特意到图书馆专门借了几本关于数据结构程序设计方面的书,同时也希望能把平时没有学好的地方好好补一补,能对知识有更深层次的理解.一切准备就

5、绪,把平时写的相关的程序出来参考,对比,慢慢才找到一些感觉,把源程序写出来. 经过几天终于写完了程序3的初稿,然后输入电脑,一编译,发现错误几十个,还有好多警告,只得一条一条的看,一个一个的改,首当其冲的是再输入电脑过程中不小心漏掉的标点符号,有些括号忘了,有些是忘了写分号等粗心导致的小毛病,这些错误很容易改正.到后面的错误就有些麻烦了,当中有个头文件忘了写,编译过程中好几十个错误就是改不过来,后来和同学讨论才知道原来错在什么地方,这样一下就变成了几个错误,这时信心大增,有些错误都看不懂错在那里,由于英文水平不太好,只好去查字典,还要推敲这个单词在这里到底是哪个意思,再加上以往的经验和同学的帮

6、助下,好不容易才得到零错误零警告,那时真开心,我的程序终于可以运行了,激动的按下运行,得到了预想的界面,按照提示操作,都很顺利,一个一个的实验每一个功能,都以为成功了,当运行到了删除功能时,突然出现死循环,只见操作界面不停的闪.这是逻辑错误,很难找,后来只有一步一步的,一句一句的检查,找到了错误的根源,并改正.从进入大学来,我们学习了 C+,数据结构。特别是高老师的认真授课,精心讲解下,同学们学到了很多东西,知识方面的很多,还有平时心的习惯也养成了.这对我们以后的学习生活很有好处,最后感谢常老师一学期以来对我们的教育帮助,对我们程序设计时的辅导.六、程序运行结果4附录:源代码#include

7、#include 5#include #include /输入/输出文件流类using namespace std;const int Maxr=100;/最多的读者const int Maxb=100;/最多的图书const int Maxbor=5;/每位读者最多借五本书/读者类,实现对读者的信息的描述class Reader private:int tag; /删除标记 1:已删 0:未删int no; /读者编号char name10; /读者姓名int borbookMaxbor;/所借图书public:Reader() char *getname() return name; /获

8、取姓名int gettag() return tag; /获取删除标记int getno() return no; /获取读者编号void setname(char na) /设置姓名 strcpy(name,na);void delbook() tag=1; /设置删除标记 1:已删 0:未删void addreader(int n,char *na)/增加读者 tag=0;no=n;strcpy(name,na);for(int i=0;i choice;switch (choice)case 1:cout readerid;cout rname;addreader (readerid,r

9、name);break;case 2:cout readerid;r=query(readerid);if (r=NULL)cout rname;r-setname(rname);break;case 3:cout readerid;r=query(readerid);if (r=NULL)cout delbook();break;case 4:cout readerid;r=query(readerid);if (r=NULL)cout disp();break;case 5:disp();break;case 6:clear();break;default:cout choice;swit

10、ch (choice)case 1:12cout bookid;cout bname;addbook(bookid,bname);break;case 2:cout bookid;b=query(bookid);if (b=NULL)cout bname;b-setname(bname);break;case 3:cout bookid;b=query(bookid);if (b=NULL)cout delbook();break;case 4:cout bookid;b=query(bookid);if (b=NULL)cout disp();break;case 5:disp();brea

11、k;13case 6:clear();break;default:cout choice;switch (choice)case 1:cout readerid;cout bookid;r=ReaderDB.query(readerid);/按编号查找if (NULL=r)cout borrowbook()=0)cout borrowbook(b-getno();14break;case 2:coutreaderid;cout bookid;r=ReaderDB.query(readerid);if (r=NULL)cout retbook();r-retbook(b-getno();break;case 3:BookDB.bookdata();break;case 4:ReaderDB.readerdata();break;default:cout“输入错误,请从新输入:“;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报