资源简介
c++课程实践写的,图书管理系统,大一就要写这个是真的心酸
代码片段和文件信息
#include
#include //控制台数据输入输出的函数
#include//文件流
#include //控制数据输出格式
#include
const int Maxr=100 ;//最多的读者数
const int Maxb=100; //最多的图书数
const int Maxbor=5; //每位读者最多借的书
class Book
{//图书类,实现对图书的描述,图书的编号,书名,借出,还入等功能
private:
int tag; //删除标记 1:已删 0:未删
int no; //图书编号
char name[20]; //书名
char author[20];//作者
char fenlei[20];//分类号
char cbs[20]; //出版社
int cbtime;//出版时间
double bookprice;//图书价格
int onshelf; //是否再架 1:再架 2:已借
public:
Book(){;}
char *getname()
{//获取书名
return name;
}
char *getauthorname()
{//获取作者名
return author;
}
char *getfenlei()
{//获取分类号
return fenlei;
}
char *getcbsname()
{//获取出版社名
return cbs;
}
int getcbtime()
{//获取出版时间
return cbtime;
}
double getbookprice()
{//获取图书价格
return bookprice;
}
int getno()
{//获取图书编号
return no;
}
int gettag()
{//获取删除标记
return tag;
}
void setname(char na[])
{//设置书名
strcpy(namena);
}
void setauthorname(char aa[])
{//设置作者名
strcpy(authoraa);
}
void setfenlei(char fe[])
{//设置分类号
strcpy(fenleife);
}
void setcbs(char ca[])
{//设置出版社
strcpy(cbsca);
}
void setcbtime(int time)
{//设置时间
cbtime=time;
}
void setbookprice(double price)
{//设置图书价格
bookprice=price;
}
void setonshelf(int oa)
{
onshelf=oa;
}
void delbook()
{//删除图书
char i;
cout<<“确定删除吗?Y/N ?“< cin>>i;
if(i==‘y‘||i==‘Y‘)
tag=1;
}
void addbook(int nchar *nachar *aachar *fechar *caint timedouble priceint oa)
{//增加图书
tag=0;
no=n;
strcpy(namena);
strcpy(authoraa);
strcpy(cbsca);
strcpy(fenleife);
cbtime=time;
bookprice=price;
onshelf=oa;
}
int borrowbook()
{//借书操作
if (onshelf>0)
{
onshelf--;
return 1;
}
return 0;
}
void retbook()
{//还书操作
onshelf++;
}
void disp()
{//输出图书
cout< }
};
class BDatabase
{//图书库类,实现对图书的维护,查找,删除等
private:
int top; //图书记录指针
Book book[Maxb]; //图书记录
public:
BDatabase()
{//构造函数,将book.txt读到book[]中
Book b;
top=-1;
fstream file(“book.txt“ios::in);
while (1)
{
file.read((char *)&bsizeof(b));
if (!file)
break;
top++;
book[top]=b;
}
file.close();
}
void clear()
{//全删
char i;
cout<<“确定全部删除吗?Y/N ?“< cin>>i;
if(i==‘y‘||i==‘Y‘)
top=-1;
}
int addbook(int nchar *nachar *aachar *fechar *caint time double priceint oa)
{//增加图书
Book *p=query1(n);
if (NULL==p)
{
top++;
book[top].addbook(nnaaafecatimepriceoa);
return 1;
}
return 0;
}
Book *query1(int bookid)
{//按编号查找图书
for(int i=0;i<=top;i++)
if(book[i].getno()==bookid &&book[i].gettag()==0)
{
return &book[i];
}
return NULL;
}
Book *query2(char a[])
{//按书名查找图书
Book *e;
int r=0;
for(int i=0;i<=top;i++)
if(strcmp(book[i].getname()
- 上一篇:c++小区物业管理系统
- 下一篇:C语言实现学生信息管理系统源代码文件
相关资源
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
- c++ 虚拟摄像头
- hook,捕获所有案件,查找所有窗口,
- C语言课设计算器
- c++ 简易贪吃蛇源码
- 高精度加法(c++代码)
- C++调用百度地图案例
- 北京化工大学计算方法(C/C++)讲义
- 基于VC++的SolidWorks二次开发SolidWorks
- c++ 模拟鼠标按键
- OFD编辑器
- Beginning C++17 From Novice to Professional
- C++ STL实现
- opencv手部轮廓识别以及轨迹识别
- 百度C++编码规范
- C++ sql2008 WebServer通讯.docx
- c++ 定时关机程序源码
- 基于VSCode和CMake实现C++开发
- c++语法查询工具
- c++ 账务系统源码
- GBT 28169-2011 嵌入式软件 C语言编码规范
- c++ 猜拳小游戏
- XUnZip Zip解压缩.rar
评论
共有 条评论