图书管理系统 c 课程设计报告

上传人:第*** 文档编号:55658782 上传时间:2018-10-03 格式:PDF 页数:19 大小:273.40KB
返回 下载 相关 举报
图书管理系统  c  课程设计报告_第1页
第1页 / 共19页
图书管理系统  c  课程设计报告_第2页
第2页 / 共19页
图书管理系统  c  课程设计报告_第3页
第3页 / 共19页
图书管理系统  c  课程设计报告_第4页
第4页 / 共19页
图书管理系统  c  课程设计报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《图书管理系统 c 课程设计报告》由会员分享,可在线阅读,更多相关《图书管理系统 c 课程设计报告(19页珍藏版)》请在金锄头文库上搜索。

1、高级语言程序设计高级语言程序设计课程设计报告课程设计报告设计题目设计题目图书管理系统图书管理系统专专业业计算机科学与技术计算机科学与技术班班级级姓姓名名学学号号2007 年年 6 月月 5 日日共 19 页 2页2目目录录1.1.设计目标设计目标3 32.2.设计思想设计思想3 33.3.类及对象设计类及对象设计4 44.4.程序源代码程序源代码5 55.5.调试记录调试记录16166 6.总结总结1818共 19 页 3页3图书管理系统图书管理系统1设计目标设计目标设计一个小型的图书管理系统,用链表来存储读者的基本信息(包括姓名、读者编号、读者借书情况等) ,完成借书、还书、图书维护、读者维

2、护、离开等功能。2 2设计思想设计思想(1)设计 class Reader 读者信息库, 实现对读者信息的描叙;class RDatabase读者类库实现建立读者的个人资料;class Book 图书类,实现对图书的描述,图书的编号,书名,借出,还入等;class BDatabase 图书库类,实现对图书的维护,查找,删除等。以下是函数功能表:函数功能char *getname()获取姓名int gettag()获取删除标记int getno()获取读者编号void setname(char na)设置姓名以及编号void addreader(int n,char *na)增加读者void d

3、elbook()设置删除标记void borrowbook(int bookid)借书操作int retbook(int bookid)还书操作void disp()读出读者信息BDatabase()构造函数,将 book.txt 读到 book中int addbook(int n,char *na)增加图书Book *query(int bookid)查找图书void bookdata()图书库维护BDatabase()析构函数,将 book写到 book.txt 文件共 19 页 4页4(2)用类的成员函数对链表的数据进行操作,其功能如上表所列。 (3)设计菜单来实现功能设计 1、 借 书

4、 2、 还 书 3、 图 书 维 护 4 、读 者 维 护 0 、离 开3设计类及对象设计类及对象(1) 本程序定义了三个类,定义如下: class Reader private: char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int getno() return no; /获取读者编号 void setname(char na) /设置姓名 void delbook() tag=1; /设置删除标记 1:已删 0:未删 void addreader(int n,char *na)/增加读者 int re

5、tbook(int bookid)/还书操作 void disp()/读出读者信息 ;class RDatabase private: int top; /读者记录指针 Reader readMaxr;/读者记录 public: RDatabase() /构造函数,将 reader.txt 读到 read中 void clear()/删除所有读者信息 int addreader(int n,char *na)/添加读者时先查找是否存在 Reader *query(int readerid)/按编号查找 void disp() /输出所有读者信息 void readerdata();/读者库维护

6、 RDatabase() /析构函数,将 read写到 reader.txt 文件中 ; class Book private: char *getname() return name; /获取姓名 int getno() return no; /获取图书编号 int gettag() return tag; /获取删除标记共 19 页 5页5void setname(char na)/设置书名 void delbook() tag=1;/删除图书 void addbook(int n,char *na)/增加图书 int borrowbook()/借书操作 void retbook()/还书

7、操作 void disp()/输出图书 class BDatabase private: BDatabase()/构造函数,将 book.txt 读到 book中 void clear()/全删 int addbook(int n,char *na)/增加图书 Book *query(int bookid)/查找图书 void bookdata();/图书库维护 BDatabase()/析构函数,将 book写到 book.txt 文件中 ; (2)分别利用类 class Reader 、class RDatabase、class Book 、class BDatabase 定义了各自的对象

8、Book bookMaxb、RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b;对其函数进行调用实现各种功能。 (3)主函数实现,调用各种函数。4程序源代码程序源代码#include #include #include #include /输入/输出文件流类 using namespace std; const int Maxr=100;/最多的读者 const int Maxb=100;/最多的图书 const int Maxbor=5;/每位读者最多借五本书 /读者类,实现对读者的信息的描述class Reader privat

9、e: int tag; /删除标记 1:已删 0:未删 int no; /读者编号 char name10; /读者姓名 int borbookMaxbor;/所借图书 public: Reader() char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记共 19 页 6页6int getno() return no; /获取读者编号 void setname(char na) /设置姓名 strcpy(name,na); void delbook() tag=1; /设置删除标记 1:已删 0:未删 void

10、addreader(int n,char *na)/增加读者 tag=0; no=n; strcpy(name,na); for(int i=0;i choice; switch (choice) 共 19 页 9页9case 1: cout readerid; cout rname; addreader (readerid,rname); break; case 2: cout readerid; r=query(readerid); if (r=NULL) cout rname; r-setname(rname); break; case 3: cout readerid; r=query

11、(readerid); if (r=NULL) cout delbook(); break; case 4: cout readerid; r=query(readerid); if (r=NULL) cout disp(); break; case 5: disp();共 19 页 10页10break; case 6: clear(); break; default:cout choice; switch (choice) case 1: cout bookid; cout bname; addbook(bookid,bname); break; case 2: cout bookid;

12、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) 共 19 页 14页14cout disp(); break; case 5: disp(); break; case 6: clear(); break; default:cout choice; switch (cho

13、ice) case 1: cout readerid; cout bookid; r=ReaderDB.query(readerid);/按编号查找共 19 页 15页15if (NULL=r) cout borrowbook()=0) cout borrowbook(b-getno(); break; case 2: coutreaderid; cout bookid; r=ReaderDB.query(readerid); if (r=NULL) cout retbook(); r-retbook(b-getno(); break; case 3: BookDB.bookdata(); b

14、reak; case 4: ReaderDB.readerdata(); break;共 19 页 16页16default:cout“输入错误,请从新输入:“; 5.调试纪录调试纪录1、读者维护界面,新增读者功能共 19 页 17页172、程序的主界面以及图书维护界面共 19 页 18页183、查找读者功能界面6总结总结通过这次课程设计,让我了解了更多关于设计时容易出现的错误,而且进一步的认识到平时学习积累的重要性。在刚进行编译的时候发现了很多的错误,都是平时应该注意的细节问题,还好与同学进行了很好的交流,得以纠正错误。由于能力问题,我只能设计这个简单的图书管理系统。它存在很多缺陷,在很多地方都存在不足。编写程序最重要的是谨慎,认真,因为哪怕是一个字符或一个标点的错误都会导致程序的错误,从而使程序无法调试运行。共 19 页 19页19由这次编写课程设计的过程中让我更加了解到了自己的不足,那就是对编写程序的经验不足以及对理论知识的掌握不够透彻,以致程序中还存在许多缺点。如: 在程序中还有部分功能不能按我的意识表达运行,当经人指点还是比较不错的实现了。参考资料参考资料本程序参考书本:本程序参考书本:C+C+程序设计课程设计程序设计课程设计高级语言高级语言 C+C+程序设计程序设计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号