1、C+图书管理系统实验报告面向对象程序设计(C+语言)课程设计 设计说明书图书管理系统的设计与实现起止日期: 年 月 日 至 年 月 日学生姓名班级学号成绩指导教师(签字)计算机与通信学院年 月 日图书管理系统一.需求分析图书馆是目前生活中除了网络外的另一个获取知识的重要场所。利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时是学习完面向对象程序设计课程后进行的一次全面的综合练习。有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合。二.设计要求:1
2、.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:2.系统以菜单方式工作 3.图书信息录入功能(图书信息用文件保存)输入 4.图书信息浏览功能输出 5.查询和排序功能:(至少一种查询方式)算法 6.按书名查询7.按作者名查询8.图书信息的删除与修改(可选项) 三.概要设计1、类的设计、Book类的设计(内部函数流程图):、BDatabase类的设计:、主函数流程图:4多态的实现class People public: virtual void card()coutcard peopleendl; class Student:
3、public People public: virtual void card()coutcard studentendl; ;四、详细设计:#define StrNum 20#define Type 20#include #include #include #include ddbook(n,na,kin); return 1; return 0; Book *query(int bookid) etnum()=bookid &booki.getlab()=0) return &booki; return NULL; void disp() etlab()=0) booki.disp();
4、BDatabase() etlab()=0) (char *)&booki,sizeof(booki); (); ;void main() BDatabase BookDB; char choice; char bname40; char bkind40; char newType20; int bookid; Book *b; while (choice!=0) coutt*n; cout nn; coutttt图 书 管 理 系 统nn; coutttt1 新增图书记录n; coutttt2 更改图书记录n; coutttt3 删除图书记录n; coutttt4 查找图书记录n; cout
5、ttt5 显示图书记录n; coutttt6 清空全部记录(慎用)n; coutttt0 退出系统n; coutttt7 人员n; cout nn; coutt*n; coutchoice; switch (choice) case 1: cout输入图书编号:bookid; cout输入图书类型:newType; cout输入图书书名:bname; (bookid,bname,newType); break; case 2: cout输入图书编号:bookid; b=(bookid); if(b=NULL) cout该图书不存在endl; break; cout输入新的书名:bname; b
6、-setname(bname); cout输入新的类型:bkind; b-setkind(bkind); break; case 3: cout读入图书编号:bookid; b=(bookid); if(b=NULL) cout该图书不存在endl; break; char tg1; cout确定要删除此记录吗(Y/N)tg1; if(tg1!=n&tg1!=N) b-delbook(); cout已成功删除该书记录!endl; break; case 4: cout读入图书编号:bookid; b=(bookid); if (b=NULL) cout该图书不存在endl; break; co
7、utdisp(); break; case 5: coutdisp(); break; case 6: char tg2; cout确定要清空所有记录吗(Y/N)tg2; if(tg2!=n&tg2!=N) (); cout已成功清空记录!endl; break; case 0: break; default:coutcard(); (); break; 五.用户使用说明本系统实现了图书管理系统的典型功能,包括查询所有记录的信息,添加查找等功能,基本符合设计要求,利用类的封装实现了一定的安全性,函数的实现与调用在主函数中实现。但在记录查询上仍有缺陷,有待于完善。六、实验心得:1、通过实验加深了对c+的了解,在程序设计上提高了自己的动手能力,在实践中增强了自己的编程水平。2、但是因为自己独立完成且能力有限,还有部分功能未能完善,例如对书名,编号的排序等等,这些局限性都是有待逐步完善的方面。3、而且通过这次课程设计,我培养了自己对C+编程的兴趣,编程能力也有所提高,但仍存在许多不足,不能独自写出功能很齐全的代码,写代码要参考很多资料,所以今后应培养自己独立写代码的能力。