欢迎来到天天文库
浏览记录
ID:18533037
大小:182.00 KB
页数:10页
时间:2018-09-19
《c++图书信息管理系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++语言程序课程设计报告课程设计题目:图书信息管理系统学号:1021112431姓名:施敏专业:软件工程(电子商务)班级:10211124指导教师:许志文2010年12月31日图书管理系统一.设计目的:图书馆是目前生活中除了网络外的另一个获取知识的重要场所。利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合。二.设计要
2、求:1.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:2.系统以菜单方式工作v3.图书信息录入功能(图书信息用文件保存)--输入v4.图书信息浏览功能--输出v5.查询和排序功能:(至少一种查询方式)--算法v6.按书名查询7.按作者名查询8.图书信息的删除与修改(可选项)v三.设计方案及流程图:1、类的设计①、Book类的设计(内部函数流程图):ClassBook获取图书类型获取书名获取图书编号获取删除标志设置书名设置类型删除图书增加图书输出图书②、BDatabase类的设计:ClassBDatabas
3、e图书记录删除全部记录增加记录查找图书记录图书库(函数)③、主函数流程图:四、程序源代码:#defineStrNum20#defineType20#include#include#include#include//输入/输出文件流类usingnamespacestd;constintMaxb=100;//最多可存储的图书classBook{private:intlab;//删除标记intnum;//图书编号intadd;//增加标记charnumber[StrNum];//编号charbookname[S
4、trNum];//书名charbookkind[Type];//图书类型public:Book(){}chargetkind()//获取图书类型{returnbookkind[Type];}chargetname()//获取书名{returnbookname[StrNum];}intgetnum()//获取图书编号{returnnum;}intgetlab()//获取删除标记{returnlab;}voidsetname(charna[])//设置书名{strcpy(bookname,na);}voidsetkind(charkin[])//设置类型{strcpy(bookk
5、ind,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<6、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);if(NULL==p){top++;book7、[top].addbook(n,na,kin);return1;}return0;}Book*query(intbookid)//查找图书{for(inti=0;i<=top;i++)if(book[i].getnum()==bookid&&book[i].getlab()==0){return&book[i];}returnNULL;}voiddisp()//图书库{for(inti=0;i<=top;i++)if(book[i].getlab()==0)book[i].disp();}~BDatab
6、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);if(NULL==p){top++;book
7、[top].addbook(n,na,kin);return1;}return0;}Book*query(intbookid)//查找图书{for(inti=0;i<=top;i++)if(book[i].getnum()==bookid&&book[i].getlab()==0){return&book[i];}returnNULL;}voiddisp()//图书库{for(inti=0;i<=top;i++)if(book[i].getlab()==0)book[i].disp();}~BDatab
此文档下载收益归作者所有