C图书管理系统源代码.docx
- 文档编号:6142179
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:51
- 大小:25.36KB
C图书管理系统源代码.docx
《C图书管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C图书管理系统源代码.docx(51页珍藏版)》请在冰豆网上搜索。
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
#include
#defineSIZE100
#defineAMOUNT50
bookbooks[SIZE];
readerstud[AMOUNT];
intreturn_back()
{
潣瑵?
请按下任何键.;
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<<★主菜单★< cout<<***********< cout<<*1.借书*< cout<<*2.还书*< cout<<*3.书籍管理*< cout<<*4.读者管理*< cout<<*5.搜索*< cout<<*0.退出*< cout<<***********< 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<<☆管理☆< cout<<***********< cout<<*1.增加书籍*< cout<<*2.注销书籍*< cout<<*3.修改书籍*< cout<<*0.返回*< cout<<***********< 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; } return0; } intbook: : book_add()//定义增加书籍的函数 { FILE*bfp; inti,n; page_title(); cout<<☆增加书籍☆< cout<<>>>请输入书的信息<<<< bfp=fopen(ooks, b); for(n=0;n { fread(&books[n],sizeof(books[n]),1,bfp); if(books[n].id==0)break; } fclose(bfp); do { 潣瑵? 请输入一个新的书号(书号从1001开始,但必须不同于已存在的书号): ; cin>>books[n].id; for(i=0;i { if(books[n].id==books[i].id&&n! =i) { . . cout<<\ 这个书号已经存在.< break; } } }while(books[n].id==books[i].id); 潣瑵? 书名: ; cin>>books[n].name; 潣瑵? 作者: ; cin>>books[n].writer; 潣瑵? 价格: ; cin>>books[n].price; 潣瑵? 总存量: ; cin>>books[n].total; 潣瑵? 现存量: ; cin>>books[n].store; 潣瑵? 出版社: ; cin>>books[n].publish; 潣瑵? 出版时间: ; cin>>books[n].pub_time; 潣瑵? 借书人: ; cin>>books[n].borrower; 潣瑵? 借书者学号: ; cin>>books[n].borr_num; bfp=fopen(ooks,wb); for(n=0;n fwrite(&books[n],sizeof(books[n]),1,bfp); fclose(bfp); cout<<\ 该书已经添加.\n< return0; } intbook: : book_del()//定义删除书籍的函数 { FILE*bfp; inti,id,s; page_title(); cout<<☆注销旧书☆< if((bfp=fopen(ooks, b))==0) { 潣瑵? 无法打开文件.; } for(i=0;i . . { fread(&books[i],sizeof(books[i]),1,bfp); } fclose(bfp); cout<<\ 请输入书号: ; cin>>id; for(i=0,s=-1;i { if(books[i].id==id) { 潣瑵? 书名: < 潣瑵? 书号: < 潣瑵? 作者: < 潣瑵? 价格: < 潣瑵? 总存量: < 潣瑵? 现存量: < 潣瑵? 出版社: < 潣瑵? 出版时间: < 潣瑵? 读者: < 潣瑵? 读者学号: < cout<<**********************************************************< 潣瑵? 请问是否确定注销此书(1为是,0为否): ; cin>>s; if(s==1) { for(;i books[i]=books[i+1]; } elseif(s==0) { return0; } } } if(s==-1) { 潣瑵? 该书不存在.< } if((bfp=fopen(ooks,wb))==0) { 潣瑵? 无法打开文件.; } . . for(i=0;i { fwrite(&books[i],sizeof(books[i]),1,bfp); } fclose(bfp); return0; } intbook: : book_mod()//定义修改书籍的函数 { FILE*bfp; inti,i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 源代码