c++课程设计图书销售管理系统.docx

上传人:b****6 文档编号:13564174 上传时间:2023-06-15 格式:DOCX 页数:19 大小:17.40KB
下载 相关 举报
c++课程设计图书销售管理系统.docx_第1页
第1页 / 共19页
c++课程设计图书销售管理系统.docx_第2页
第2页 / 共19页
c++课程设计图书销售管理系统.docx_第3页
第3页 / 共19页
c++课程设计图书销售管理系统.docx_第4页
第4页 / 共19页
c++课程设计图书销售管理系统.docx_第5页
第5页 / 共19页
c++课程设计图书销售管理系统.docx_第6页
第6页 / 共19页
c++课程设计图书销售管理系统.docx_第7页
第7页 / 共19页
c++课程设计图书销售管理系统.docx_第8页
第8页 / 共19页
c++课程设计图书销售管理系统.docx_第9页
第9页 / 共19页
c++课程设计图书销售管理系统.docx_第10页
第10页 / 共19页
c++课程设计图书销售管理系统.docx_第11页
第11页 / 共19页
c++课程设计图书销售管理系统.docx_第12页
第12页 / 共19页
c++课程设计图书销售管理系统.docx_第13页
第13页 / 共19页
c++课程设计图书销售管理系统.docx_第14页
第14页 / 共19页
c++课程设计图书销售管理系统.docx_第15页
第15页 / 共19页
c++课程设计图书销售管理系统.docx_第16页
第16页 / 共19页
c++课程设计图书销售管理系统.docx_第17页
第17页 / 共19页
c++课程设计图书销售管理系统.docx_第18页
第18页 / 共19页
c++课程设计图书销售管理系统.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c++课程设计图书销售管理系统.docx

《c++课程设计图书销售管理系统.docx》由会员分享,可在线阅读,更多相关《c++课程设计图书销售管理系统.docx(19页珍藏版)》请在冰点文库上搜索。

c++课程设计图书销售管理系统.docx

c++课程设计图书销售管理系统

 

图书销售管理系统

一、设计目的

本图书销售管理系统,主要用于小型的书店,进行简单的图书的管理,为了能够更好的管理书店的销售的情况和库存的情况书店销售管理系统主要的功能有:

(1)图书入库管理:

维护入库图书信息,图书编号、书名、价格等,自动计算库存。

(2)图书查询统计:

可以根据图书分类、出版社、书名、作者等条件查询图书的详细信息。

(3)销售管理:

销售过的图书都记录在销售列表中,方便统计收入。

图书销售后,要记录图书库存,按每天统计销售额、每个月或季度生成报表,并生成畅销书单。

二、设计内容

(1)图书信息包括书名、书号、作者、出版社、单价、库存数量、进价、售价、利润;

(2)用户登录界面设计

(3)信息维护:

包括子模块有增加图书信息、删除图书信息、修改图书信息

(4)查询功能:

可按书名查询、作者查询、或出版社查询

(5)排序功能:

能实现按图书销售利润进行排序的功

三、设计要求

(1)只能使用C++语言,源程序要有适当的注释,使程序容易阅读

(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)

(3)学生可自动增加新功能模块(视情况可另外加分)

(4)写出课程设计报告,具体要求见相关说明文档

四、设计过程

1、面向对象分析

(1)对象模型设计

 

(2)各个类设计

系统中说明了4个类,每个类的详细设计如下:

1.Book类

classbook{

C++语言程序设计》.清华大学出版社

郑莉等编著.《C++语言程序设计习题与实验指导》.清华大学出版社

张基温编著.《C++程序设计基础例题与习题》.高等教育出版社

黄明等编著.《面向对象程序设计习题详解》.机械工业出版社

附录

源代码:

#include

#include

#include

#include

usingnamespacestd;

constintMaxr=100;

constintMaxb=100;

constintMaxbor=5;

classReader

{

private:

inttag;

intno;

charname[10];

intborbook[Maxbor];

public:

Reader(){}

char*getname(){returnname;}

intgettag(){returntag;}

intgetno(){returnno;}

voidsetname(charna[])

{

strcpy(name,na);

}

voiddelbook(){tag=1;}

voidaddreader(intn,char*na)

{

tag=0;

no=n;

strcpy(name,na);

for(inti=0;i

borbook[i]=0;

}

voidborrowbook(intbookid)

{

for(inti=0;i

{

if(borbook[i]==0)

{

borbook[i]=bookid;

return;

}

}

}

intretbook(intbookid)

{

for(inti=0;i

{

if(borbook[i]==bookid)

{

borbook[i]=0;

return1;

}

}

return0;

}

voiddisp()

{

cout<

[";

for(inti=0;i

if(borbook[i]!

=0)

cout<

cout<<"]"<

}

};

classRDatabase

{

private:

inttop;

Readerread[Maxr];

public:

RDatabase()

{

Readers;

top=-1;

fstreamfile("",ios:

:

in);

while

(1)

{

((char*)&s,sizeof(s));

if(!

file)break;

top++;

read[top]=s;

}

();

}

voidclear()

{

top=-1;

}

intaddreader(intn,char*na)

{

Reader*p=query(n);

if(p==NULL)

{

top++;

read[top].addreader(n,na);

return1;

}

return0;

}

Reader*query(intreaderid)

{

for(inti=0;i<=top;i++)

if(read[i].getno()==readerid&&

read[i].gettag()==0)

{

return&read[i];

}

returnNULL;

}

voiddisp()

{

for(inti=0;i<=top;i++)

read[i].disp();

}

voidreaderdata();

~RDatabase()

{

fstreamfile("",ios:

:

out);

for(inti=0;i<=top;i++)

if(read[i].gettag()==0)

((char*)&read[i],sizeof(read[i]));

();

}

};

voidRDatabase:

:

readerdata()

{

charchoice;

charrname[20];

intreaderid;

Reader*r;

while(choice!

='0')

{

cout<<"******欢迎使用图书销售管理系统终极版******”<

cin>>choice;

switch(choice)

{

case'1':

cout<<"******操作菜单******:

";

cin>>readerid;

cout<<"******收银员******";

cin>>rname;

addreader(readerid,rname);

break;

case'2':

cout<<"******管理员******:

";

cin>>readerid;

r=query(readerid);

if(r==NULL)

{

cout<<"******顾客******"<

break;

}

cout<<"输入新的姓名:

";

cin>>rname;

r->setname(rname);

break;

case'3':

cout<<"输入图书编号:

";

cin>>readerid;

r=query(readerid);

if(r==NULL)

{

cout<<"该图书不存在"<

break;

}

r->delbook();

break;

case'4':

cout<<"读入图书编号:

";

cin>>readerid;

r=query(readerid);

if(r==NULL)

{

cout<<"该图书不存在"<

break;

}

r->disp();

break;

case'5':

disp();

break;

case'6':

clear();

break;

default:

cout<<"输入错误,请从新输入:

";break;

}

}

}

classBook

{

private:

inttag;

intno;

charname[20];

intonshelf;

public:

Book(){}

char*getname(){returnname;}

intgetno(){returnno;}

intgettag(){returntag;}

voidsetname(charna[])

{

strcpy(name,na);

}

voiddelbook(){tag=1;}

voidaddbook(intn,char*na)

{

tag=0;

no=n;

strcpy(name,na);

onshelf=1;

}

intborrowbook()

{

if(onshelf==1)

{

onshelf=0;

return1;

}

return0;

}

voidretbook()

{

onshelf=1;

}

voiddisp()

{

cout<

<<(onshelf==1?

"缺货")<

}

};

classBDatabase

{

private:

inttop;

Bookbook[Maxb];

public:

BDatabase()

{

Bookb;

top=-1;

fstreamfile("",ios:

:

in);

while

(1)

{

((char*)&b,sizeof(b));

if(!

file)break;

top++;

book[top]=b;

}

();

}

voidclear()

{

top=-1;

}

intaddbook(intn,char*na)

{

Book*p=query(n);

if(NULL==p)

{

top++;

book[top].addbook(n,na);

return1;

}

return0;

}

Book*query(intbookid)

{

for(inti=0;i<=top;i++)

if(book[i].getno()==bookid&&book[i].gettag()==0)

{

return&book[i];

}

returnNULL;

}

voidbookdata();

voiddisp()

{

for(inti=0;i<=top;i++)

if(book[i].gettag()==0)

book[i].disp();

}

~BDatabase()

{

fstreamfile("",ios:

:

out);

for(inti=0;i<=top;i++)

if(book[i].gettag()==0)

((char*)&book[i],sizeof(book[i]));

();

}

};

voidBDatabase:

:

bookdata()

{

charchoice;

charbname[40];

intbookid;

Book*b;

while(choice!

='0')

{

cout<<"\n\n\n\t\t\t图书维护"<

cin>>choice;

switch(choice)

{

case'1':

cout<<"输入图书编号:

"<

cin>>bookid;

cout<<"输入图书书名:

"<

cin>>bname;

addbook(bookid,bname);

break;

case'2':

cout<<"输入图书编号:

"<

cin>>bookid;

b=query(bookid);

if(b==NULL)

{

cout<<"该图书缺货"<

break;

}

cout<<"输入新的书名:

"<

cin>>bname;

b->setname(bname);

break;

case'3':

cout<<"读入图书编号:

"<

cin>>bookid;

b=query(bookid);

if(b==NULL)

{

cout<<"该图书缺货"<

break;

}

b->delbook();

break;

case'4':

cout<<"读入图书编号:

"<

cin>>bookid;

b=query(bookid);

if(b==NULL)

{

cout<<"该图书不存在"<

break;

}

b->disp();

break;

case'5':

disp();

break;

case'6':

clear();

break;

default:

cout<<"输入错误,请从新输入:

";

}

}

}

 

voidmain()

{

charchoice;

intbookid,readerid;

RDatabaseReaderDB;

Reader*r;

BDatabaseBookDB;

Book*b;

while(choice!

='0')

{

cout<

cin>>choice;

switch(choice)

{

case'1':

cout<<"买书图书编号:

";

cin>>readerid;

cout<<"图书编号:

";

cin>>bookid;

r=(readerid);

if(NULL==r)

{

cout<<"不存在该图书,不能买书"<

break;

}

b=(bookid);

if(b==NULL)

{

cout<<"不存在该图书,不能买书"<

break;

}

if(b->borrowbook()==0)

{

cout<<"该图书已售完,不能买书"<

break;

}

r->borrowbook(b->getno());

break;

case'2':

cout<<"买书\n图书编号:

";

cin>>readerid;

cout<<"图书编号:

";

cin>>bookid;

r=(readerid);

if(r==NULL)

{

cout<<"不存在该图书,不能买书"<

break;

}

b=(bookid);

if(b==NULL)

{

cout<<"不存在该图书,不能买书"<

break;

}

b->retbook();

r->retbook(b->getno());

break;

case'3':

();

break;

case'4':

();

break;

default:

cout<<"输入错误,请从新输入:

";

}

}

}

 

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2