C++图书管理系统源代码.docx

上传人:b****2 文档编号:19656992 上传时间:2023-04-24 格式:DOCX 页数:53 大小:26.18KB
下载 相关 举报
C++图书管理系统源代码.docx_第1页
第1页 / 共53页
C++图书管理系统源代码.docx_第2页
第2页 / 共53页
C++图书管理系统源代码.docx_第3页
第3页 / 共53页
C++图书管理系统源代码.docx_第4页
第4页 / 共53页
C++图书管理系统源代码.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

C++图书管理系统源代码.docx

《C++图书管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C++图书管理系统源代码.docx(53页珍藏版)》请在冰豆网上搜索。

C++图书管理系统源代码.docx

C++图书管理系统源代码

图书管理系统

系统功能:

1.借书:

根据借书人提出的图书编号(id)查询该图书,如果该图书现存量(store)不为0,则提示输入借阅者的学号(num),为借书人办理借书手续,提示用户该书已被借出。

2.归书:

根据借书人的学号查询该读者的信息,若有该读者,则提示输入所借书籍的编号(id),为该读者办理还书手续,提示该书已还.

3.书籍管理:

弹出书籍管理界面,输入所要执行操作的号码:

(1)增加书籍:

弹出注册新书的窗口,按照提示输入所增加书籍的信息,最后,提示用户该书已被注册。

(2)删除书籍:

弹出删除书籍的窗口,输入所要删除书籍的编号(id),输出该书的信息,确认是否删除该书,1为删除,0为放弃。

(3)修改书籍:

弹出修改书籍的窗口,输入所要修改书籍的编号(id),输出该书的信息,确认是否修改该书,1为修改,0为放弃。

之后按照提示重新输入书籍的信息。

4。

读者管理:

弹出读者管理界面,输入所要执行操作的号码:

(1)增加读者:

弹出注册读者的窗口,按照提示输入所增加读者的信息,最后,提示用户该读者已被注册。

(2)删除书籍:

弹出删除读者的窗口,输入所要删除读者的学号(num),输出该读者的信息,确认是否删除该读者,1为删除,0为放弃。

(3)修改书籍:

弹出修改读者的窗口,输入所要修改读者的学号(num),输出该读者的信息,确认是否修改该读者,1为修改,0为放弃.之后按照提示重新输入读者的信息。

5。

搜索:

此搜索包括两方面的搜索,书籍搜索以及读者搜索,弹出搜索的窗口,按照提示输入所要搜索的内容,1为书籍搜索,2为读者搜索:

(1)搜索书籍:

弹出搜索书籍的窗口,按照提示输入所要搜索的方式,包括按〈1>书名搜索,<2〉书号搜索,<3>作者搜索,<4〉出版社搜索,〈5>出版时间搜索;根据所选方式输入相应的内容,若是该书籍存在,则输出该书籍的信息,否则,返回主界面。

(2)搜索读者:

弹出搜索读者的窗口,按照提示输入所要搜索的方式,包括按<1>名字搜索,〈2〉学号搜索;根据所选方式输入相应的内容,若是该读者存在,则输出该读者的信息,否则,返回主界面.

6.退出:

退出图书管理系统。

 

图书类设计:

私有成员:

书名(name)、编号(id)、作者名(writer)、价格(price)、总存量(total)、现存量(store)、出版单位(publish)、出版时间(pub_time)。

及该书的借阅情况(借阅者名字(borrower)、借阅者学号(borr_num):

若无人借阅该书,则borrower=0,borr_num=0;否则borrower=借阅者名字,borr_num=借阅者学号)。

classbook

private:

charname[50];//书名

charwriter[10];//作者

charborrower[10];//借书人

intid;//书号

intborr_num;//借书人学号

intstore;//现存量

inttotal;//总存量

intpub_time;//出版时间

floatprice;//价格

charpublish[50];//出版社

public:

book();//book类构造函数

intbook1();//书籍管理界面函数

intbook_add();//增加书籍函数

intbook_del();//删除书籍函数

intbook_mod();//修改书籍函数

intbook_out();//借书函数

intbook_in();//还书函数

intbook_name();//按书名搜索书籍函数

intbook_id();//按书号搜索书籍函数

intbook_pub();//按出版社搜索书籍函数

intbook_time();//按出版时间搜索书籍函数

intbook_writer();//按作者搜索书籍函数

intseach_book();//搜索书籍界面函数

intseach();//主搜索界面函数

};

读者类设计:

私有成员:

 

借书人的姓名(name)、性别(sex)、年级(grade)、班级(class)、学号(num).及所借图书名字(book_name)、借书日期(date)、可借天数(avai_days)。

classreader

private:

charname[10];//名字

intnum;//学号

chargrade[10];//年级

charclas[10];//班级

charsex[10];//性别

charbook_name[50];//所借书的书名

chardate[10];//借书日期

intavai_days;//可借天数

public:

intreader_1();//读者管理界面函数

intreader_add();//增加读者函数

intreader_del();//删除读者函数

intreader_mod();//修改读者函数

intreader_name();//按读者名字搜索读者函数

intreader_num();//按读者学号搜索读者函数

intseach_reader();//搜索读者界面函数

char*getname();//获取读者姓名函数

intgetnum();//获取读者学号函数

char*getgrade();//获取读者年级函数

char*getclas();//获取读者班级函数

char*getsex();//获取读者性别函数

char*getbook_name();//获取所借书书名函数

char*getdate();//获取借书日期函数

intgetavaiday();//获取可借天数函数

intsetname(char*);//设置读者姓名函数

intsetnum(int);//设置读者学号函数

intsetgrade(char*);//设置读者年级函数

intsetclas(char*);//设置读者班级函数

intsetsex(char*);//设置读者性别函数

intsetbook_name(char*);//设置所借书籍书名函数

intsetdate(char*);//设置借书日期函数

intsetavaiday(int);//设置可借天数函数

};

图书管理系统源代码:

#include

usingnamespacestd;

classreader;

classbook

{

private:

charname[50];//书名

charwriter[10];//作者

charborrower[10];//借书人

intid;//书号

intborr_num;//借书人学号

intstore;//现存量

inttotal;//总存量

intpub_time;//出版时间

floatprice;//价格

charpublish[50];//出版社

public:

book();//book类构造函数

intbook1();//书籍管理界面函数

intbook_add();//增加书籍函数

intbook_del();//删除书籍函数

intbook_mod();//修改书籍函数

intbook_out();//借书函数

intbook_in();//还书函数

intbook_name();//按书名搜索书籍函数

intbook_id();//按书号搜索书籍函数

intbook_pub();//按出版社搜索书籍函数

intbook_time();//按出版时间搜索书籍函数

intbook_writer();//按作者搜索书籍函数

intseach_book();//搜索书籍界面函数

intseach();//主搜索界面函数

};

 

classreader

{

private:

charname[10];//名字

intnum;//学号

chargrade[10];//年级

charclas[10];//班级

charsex[10];//性别

charbook_name[50];//所借书的书名

chardate[10];//借书日期

intavai_days;//可借天数

public:

intread1();//读者管理界面函数

intreader_add();//增加读者函数

intreader_del();//删除读者函数

intreader_mod();//修改读者函数

intreader_name();//按读者名字搜索读者函数

intreader_num();//按读者学号搜索读者函数

intseach_reader();//搜索读者界面函数

char*getname();//获取读者姓名函数

intgetnum();//获取读者学号函数

char*getgrade();//获取读者年级函数

char*getclas();//获取读者班级函数

char*getsex();//获取读者性别函数

char*getbook_name();//获取所借书书名函数

char*getdate();//获取借书如期函数

intgetavaiday();//获取可借天数函数

intsetname(char*);//设置读者姓名函数

intsetnum(int);//设置读者学号函数

intsetgrade(char*);//设置读者年级函数

intsetclas(char*);//设置读者班级函数

intsetsex(char*);//设置读者性别函数

intsetbook_name(char*);//设置所借书籍书名函数

intsetdate(char*);//设置借书日期函数

intsetavaiday(int);//设置可借天数函数

};

 

#include

#include

#include

h>

#include〈windows.h〉

#defineSIZE100

#defineAMOUNT50

bookbooks[SIZE];

readerstud[AMOUNT];

intreturn_back()

cout〈<”请按下任何键。

”;

getch();

return0;

char*reader:

getname()

returnname;

}

intreader:

getnum()

{

returnnum;

char*reader:

getgrade()

{

returngrade;

}

char*reader:

:

getclas()

returnclas;

}

char*reader:

getsex()

returnsex;

}

char*reader:

:

getbook_name()

returnbook_name;

char*reader:

:

getdate()

returndate;

}

intreader:

:

getavaiday()

returnavai_days;

}

 

intreader:

setname(char*names)

strcpy(name,names);

return0;

intreader:

:

setnum(intnums)

num=nums;

return0;

intreader:

setgrade(char*grades)

{

strcpy(grade,grades);

return0;

intreader:

:

setclas(char*classes)

{

strcpy(clas,classes);

return0;

intreader:

setsex(char*sexs)

{

strcpy(sex,sexs);

return0;

intreader:

:

setbook_name(char*book_names)

{

strcpy(book_name,book_names);

return0;

}

intreader:

:

setdate(char*dates)

strcpy(date,dates);

return0;

}

intreader:

:

setavaiday(intavaiday)

{

avai_days=avaiday;

return0;

 

intpage_title()

system(”cls”);

cout<〈”**************************\n";

cout<<"*☆★☆欢迎来到图书管理系统☆★☆*\n";

cout〈〈”**************************\n";

return0;

book:

book()

system(”color17”);

readerread;

menu:

page_title();

cout〈〈”★主菜单★"〈〈endl〈〈endl<

cout<〈”***********”<

cout〈<”*1。

借书*”〈〈endl<〈endl;

cout<〈"*2。

还书*”〈〈endl<〈endl;

cout<<”*3.书籍管理*"〈〈endl〈〈endl;

cout<<"*4.读者管理*"〈

cout〈〈”*5。

搜索*"<

cout〈<”*0.退出*"<

cout<〈"***********"<〈endl〈〈endl;

cout<<"请输入你的选择:

”;

switch(getch())

case’1':

book_out();break;

case’2’:

book_in();break;

case'3':

book1();break;

case’4’:

read。

read1();break;

case’5':

seach();break;

case’0':

exit(0);break;

default:

system("cls");

page_title();

cout<<”\n错误,请再输入一遍!

"〈

gotomenu;

 

intbook:

:

book1()

system("cls”);

page_title();

cout<〈”☆管理☆"〈〈endl〈〈endl<〈endl;

cout<〈"***********”<〈endl;

cout<〈"*1。

增加书籍*"〈

cout<〈”*2。

注销书籍*”<〈endl<〈endl;

cout〈〈"*3.修改书籍*"〈

cout<〈”*0.返回*”〈〈endl;

cout〈〈”***********”<〈endl<〈endl;

cout<〈”请输入你的选择:

”;

switch(getch())

{

case’1’:

book_add();break;

case’2’:

book_del();break;

case’3':

book_mod();break;

case'0’:

return_back();break;

default:

system(”cls");

cout<〈”\n错误,请再输入一遍!

\n";

return0;

intbook:

book_add()//定义增加书籍的函数

{

FILE*bfp;

inti,n;

page_title();

cout〈〈”☆增加书籍☆”〈

cout〈〈”〉>〉请输入书的信息〈<〈”〈

bfp=fopen("books","rb”);

for(n=0;n

fread(&books[n],sizeof(books[n]),1,bfp);

if(books[n].id==0)break;

}

fclose(bfp);

do

cout〈<”请输入一个新的书号(书号从1001开始,但必须不同于已存在的书号):

”;

cin〉>books[n].id;

for(i=0;i〈SIZE;i++)

{

if(books[n].id==books[i]。

id&&n!

=i)

cout〈<”\n这个书号已经存在。

"〈〈endl;

break;

}while(books[n]。

id==books[i]。

id);

cout<〈”书名:

";

cin>>books[n]。

name;

cout〈<"作者:

”;

cin〉>books[n].writer;

cout〈<”价格:

”;

cin〉>books[n]。

price;

cout〈<"总存量:

";

cin>〉books[n].total;

cout〈〈”现存量:

”;

cin〉〉books[n]。

store;

cout<〈"出版社:

";

cin>>books[n].publish;

cout<<”出版时间:

";

cin〉>books[n]。

pub_time;

cout<<"借书人:

";

cin>〉books[n]。

borrower;

cout<<”借书者学号:

";

cin〉>books[n]。

borr_num;

bfp=fopen("books",”wb");

for(n=0;n〈SIZE;n++)

fwrite(&books[n],sizeof(books[n]),1,bfp);

fclose(bfp);

cout〈〈"\n该书已经添加。

\n"<〈endl;

return0;

}

 

intbook:

:

book_del()//定义删除书籍的函数

{

FILE*bfp;

inti,id,s;

page_title();

cout<〈”☆注销旧书☆”〈

if((bfp=fopen("books”,"rb”))==0)

cout<〈"无法打开文件.”;

for(i=0;i〈SIZE;i++)

fread(&books[i],sizeof(books[i]),1,bfp);

fclose(bfp);

cout〈<”\n请输入书号:

";

cin〉〉id;

for(i=0,s=—1;i〈SIZE;i++)

{

if(books[i]。

id==id)

{

cout〈<”书名:

"〈

name<〈endl;

cout<<"书号:

”〈

id〈

cout<<"作者:

"<〈books[i].writer〈〈endl;

cout〈〈"价格:

"〈〈books[i].price<

cout<〈"总存量:

"<

cout〈<”现存量:

"〈〈books[i].store<

cout〈<”出版社:

”<

publish〈〈endl;

cout〈<”出版时间:

”<〈books[i]。

pub_time〈〈endl;

cout<〈"读者:

"〈

borrower〈〈endl;

cout<〈”读者学号:

”〈

borr_num<〈endl;

cout<〈"**********************************************************”<

cout<<”请问是否确定注销此书(1为是,0为否):

";

cin>〉s;

if(s==1)

{

for(;i

books[i]=books[i+1];

elseif(s==0)

{

return0;

}

}

if(s==—1)

{

cout〈〈"该书不存在.”〈

}

if((bfp=fopen(”books","wb"))==0)

cout<〈”无法打开文件.";

for(i=0;i

{

fwrite(&books[i],sizeof(books[i]),1,bfp);

}

fclose(bfp);

return0;

 

intbook:

:

book_mod()//定义修改书籍的函数

{

FILE*bfp;

inti,id,s,n;

page_title();

cout<<”☆修改书籍☆"〈

if((bfp=fopen("books”,"rb"))==0)

cout<〈"无法打开文件。

";

}

for(i=0;i

{

fread(&books[i],sizeof(books[i]),1,bfp);

}

fclose(bfp);

cout<〈endl<<"请输入书号:

”;

cin>〉id;

for(i=0,s==0;i

if(books[i].id==id)

{

cout〈<”书名:

"〈〈books[i].name<

cout〈〈”书号:

”〈〈books[i].id<〈endl;

cout〈〈”作者:

”〈〈books[i].writer〈

cout<<”价格:

”<〈books[i].price<<

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1