C++ 图书管理系统源代码Word下载.docx
《C++ 图书管理系统源代码Word下载.docx》由会员分享,可在线阅读,更多相关《C++ 图书管理系统源代码Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
作者搜索,<
4>
出版社搜索,<
5>
出版时间搜索;
根据所选方式输入相应的内容,若是该书籍存在,则输出该书籍的信息,否则,返回主界面。
(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];
"
;
getch();
return0;
}
char*reader:
:
getname()
returnname;
intreader:
getnum()
returnnum;
getgrade()
returngrade;
getclas()
returnclas;
getsex()
returnsex;
getbook_name()
returnbook_name;
getdate()
returndate;
getavaiday()
returnavai_days;
setname(char*names)
strcpy(name,names);
return0;
setnum(intnums)
num=nums;
setgrade(char*grades)
strcpy(grade,grades);
setclas(char*classes)
strcpy(clas,classes);
setsex(char*sexs)
strcpy(sex,sexs);
setbook_name(char*book_names)
strcpy(book_name,book_names);
setdate(char*dates)
strcpy(date,dates);
setavaiday(intavaiday)
avai_days=avaiday;
intpage_title()
system("
cls"
);
cout<
<
"
**************************\n"
*☆★☆欢迎来到图书管理系统☆★☆*\n"
book:
book()
color17"
readerread;
menu:
page_title();
★主菜单★"
endl<
endl;
***********"
endl;
*1.借书*"
endl<
*2.还书*"
*3.书籍管理*"
*4.读者管理*"
*5.搜索*"
*0.退出*"
***********"
请输入你的选择:
;
switch(getch())
{
case'
1'
book_out();
break;
2'
book_in();
3'
book1();
4'
();
5'
seach();
0'
exit(0);
default:
system("
\n错误,请再输入一遍!
}
gotomenu;
intbook:
book1()
☆管理☆"
<
*1.增加书籍*"
*2.注销书籍*"
*3.修改书籍*"
*0.返回*"
book_add();
book_del();
book_mod();
return_back();
\n错误,请再输入一遍!
\n"
book_add()d==0)break;
fclose(bfp);
do
请输入一个新的书号(书号从1001开始,但必须不同于已存在的书号):
cin>
>
books[n].id;
for(i=0;
i<
SIZE;
i++)
if(books[n].id==books[i].id&
&
n!
=i)
\n这个书号已经存在."
break;
}while(books[n].id==books[i].id);
书名:
books[n].name;
作者:
books[n].writer;
价格:
books[n].price;
总存量:
books[n].total;
现存量:
books[n].store;
出版社:
books[n].publish;
出版时间:
books[n].pub_time;
借书人:
books[n].borrower;
借书者学号:
books[n].borr_num;
bfp=fopen("
books"
"
wb"
for(n=0;
n<
n++)
fwrite(&
books[n],sizeof(books[n]),1,bfp);
\n该书已经添加.\n"
book_del()"
fread(&
books[i],sizeof(books[i]),1,bfp);
\n请输入书号:
id;
for(i=0,s=-1;
if(books[i].id==id)
books[i].name<
书号:
books[i].id<
books[i].writer<
books[i].price<
books[i].total<
books[i].store<
books[i].publish<
books[i].pub_time<
读者:
books[i].borrower<
读者学号:
books[i].borr_num<
**********************************************************"
请问是否确定注销此书(1为是,0为否):
s;
if(s==1)
for(;
books[i]=books[i+1];
elseif(s==0)
if(s==-1)
该书不存在."
if((bfp=fopen("
"
))==0)
无法打开文件."
book_mod()"
请输入书号:
for(i=0,s==0;
cout<
是否确定修改该书籍(1为是,0为否):
cin>
if(s==1)
{page_title();
请重新输入书籍的信息:
do
{
cout<
请输入一个新的书号(学号从1001开始,但必须不同于已存在的书号):
cin>
books[i].id;
for(n=0;
{
if(books[i].id==books[n].id&
{
cout<
该书号已存在."
}
}
}while(books[i].id==books[n].id);
books[i].name;
books[i].writer;
books[i].price;
books[i].total;
books[i].store;
books[i].publish;
books[i].pub_time;
books[i].borrower;
books[i].borr_num;
该书不存在。
reader_1()
☆管理☆\n"
*1.增加读者*"
*2.注销读者*"
*3.修改读者*"
reader_add();
reader_del();
reader_mod();
reader_add()um==0)break;
fclose(sfp);
请输入一个新的学号(学号从1001开始,但必须不同于已存在的学号):
stud[n].num;
AMOUNT;
if(stud[n].num==stud[i].num&
endl<
这个学号已经存在."
}while(stud[n].num==stud[i].num);
名字:
stud[n].name;
年级:
stud[n].grade;
班级:
stud[n].clas;
性别:
stud[n].sex;
stud[n].book_name;
借书日期:
stud[n].date;
可借天数:
stud[n].avai_days;
sfp=fopen("
students"
stud[n],sizeof(stud[n]),1,sfp);
该读者已添加."
reader_del()"
stud[i],sizeof(stud[i]),1,sfp);
请输入学号:
num;
for(i=0,s==-1;
if(stud[i].num==num)
stud[i].name<
学号:
stud[i].num<
stud[i].grade<
stud[i].clas<
stud[i].sex<
stud[i].book_name<
stud[i].date<
stud[i].avai_days<
**********************************************************"
是否确定注销该读者(1为是,0为否):
for(;
stud[i]=stud[i+1];
}
elseif(s==0)
return0;
if(s==-1)
该读者不存在."
if((sfp=fopen("
stud[i],sizeof(stud[i]),1,sfp);
reader_mod()"
fread(&
if(stud[i].num==num)