如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C++语言程序课程设计报告课程设计题目:图书信息管理系统学号:1021112431姓名:施敏专业:软件工程(电子商务)班级:10211124指导教师:许志文2010年12月31日图书管理系统一.设计目的:图书馆是目前生活中除了网络外的另一个获取知识的重要场所。利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合。二.设计要求:1.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:2.系统以菜单方式工作3.图书信息录入功能(图书信息用文件保存)--输入4.图书信息浏览功能--输出5.查询和排序功能:(至少一种查询方式)--算法6.按书名查询7.按作者名查询8.图书信息的删除与修改(可选项)三.设计方案及流程图:1、类的设计①、Book类的设计(内部函数流程图):ClassBook获取图书类型获取书名获取图书编号获取删除标志设置书名设置类型删除图书增加图书输出图书②、BDatabase类的设计:ClassBDatabase图书记录删除全部记录增加记录查找图书记录图书库(函数)③、主函数流程图:四、程序源代码:#defineStrNum20#defineType20#include<iostream>#include<iomanip>#include<string>#include<fstream>//输入/输出文件流类usingnamespacestd;constintMaxb=100;//最多可存储的图书classBook{private:intlab;//删除标记intnum;//图书编号intadd;//增加标记charnumber[StrNum];//编号charbookname[StrNum];//书名charbookkind[Type];//图书类型public:Book(){}chargetkind()//获取图书类型{returnbookkind[Type];}chargetname()//获取书名{returnbookname[StrNum];}intgetnum()//获取图书编号{returnnum;}intgetlab()//获取删除标记{returnlab;}voidsetname(charna[])//设置书名{strcpy(bookname,na);}voidsetkind(charkin[])//设置类型{strcpy(bookkind,kin);}voiddelbook()//删除图书{lab=1;}voidaddbook(intn,char*na,char*kin)//增加图书{lab=0;num=n;strcpy(bookname,na);strcpy(bookkind,kin);}voiddisp()//输出图书{cout.flags(ios::left);//设置对齐的标志位为左cout<<setw(15)<<num<<setw(20)<<bookname<<setw(15)<<bookkind<<endl;}};classBDatabase{private:inttop;Bookbook[Maxb];//图书记录public:BDatabase()//构造函数,将book.txt读到book[]中{Bookb;top=-1;fstreamfile("book.txt",ios::in);while(1){file.read((char*)&b,sizeof(b));if(!file)break;top++;book[top]=b;}file.close();}voidclear()//全删{top=-1;}intaddbook(intn,char*na,char*kin)//增加图书{Book*p=query(n