资源简介
程序主要目标是实现图书馆对读者信息和图书信息的管理,并实现借书,还书,读者管理,图书管理和退出系统等功能。
1、借书操作:读者需要输入读者编号,图书编号,系统会自动判断该读者和图书是否存在,若都存在则显示借书成功,并且给图书标记上借阅标记,同时需输入借阅时间和还书最后期限。否则给出提示信息,读者不存在不能借书,或者图书不存在不能借书。
2、还书操作:还书者需要输入读者编号,图书编号,系统会自动判断该读者和图书是否存在。若都存在则需输入还书时间,并判断借阅日期是否超出允许借阅期限30天,若超出期限给出提示信息,应付罚金x元。交钱后,由管理员确认无误后,给图书去掉借阅标记,并输出信息还书成功!若读
代码片段和文件信息
#include
#include
#include
#include
const int Maxreader=200;//最多的读者
const int Maxbook=200; //最多的图书
const int Maxbor=10; //读者最多借10本书
//读者类实现对读者的信息的描述
class Reader
{
private:
int tag; //删除标记 1:已删 0:未删
int nu; //读者编号
char name[20]; //读者姓名
char work[20]; //工作单位或班级
int borbook[Maxbor];//所借图书编号
public:
int gettag() {return tag;} //获取删除标记
int getnu() {return nu;} //获取读者编号
char* getna() {return name;} //获取读者姓名
void setname(char na[]){ strcpy(namena);} //设置姓名
void setwork(char wo[]){ strcpy(workwo);} //设置工作单位
void delreader() {tag=1;} //删出读者
void addreader(int nchar *nachar *wo) //增加读者
{ tag=0;nu=n;
strcpy(namena);strcpy(workwo);
for(int i=0;i borbook[i]=0;
}
void borrowbook(int booknu) //借书操作
{ for(int i=0;i if (borbook[i]==0)
{borbook[i]=booknu; break;}
}
void retbook(int booknu) //还书操作
{ for(int i=0;i if(borbook[i]==booknu)
{borbook[i]=0; break;}
}
void display() //输出读者信息
{ cout<<“读者编号:“< cout<<“工作单位:“< for(int i=0;i if(borbook[i]!=0) cout< cout << “]“< }
};
//读者库类,建立读者的资料
class RDatabase
{
private:
int tp; //读者记录标记
Reader reader[Maxreader];//各读者记录
public:
RDatabase() //构造函数,将reader.txt读到read[]中
{ Reader s; tp=-1;
fstream file(“reader.txt“ios::in);//打开一个输入文件
while (1)
{ file.read((char *)&ssizeof(s));
if (!file)break;
tp++;
reader[tp]=s;
}
file.close();//关闭 reader.txt
}
void allclear()//删除所有读者信息
{ tp=-1; }
void addreader(int nchar *nachar *wo)//添加读者
{ Reader *r=find(n);
if (r==NULL)
{ tp++;
reader[tp].addreader(nnawo);
}
}
Reader *find(int readernu)//按编号查找
{ for (int i=0;i<=tp;i++)
if (reader[i].getnu()==readernu&&reader[i].gettag()==0)
{ return &reader[i]; }
return NULL;
}
Reader *finda(char na[])//按读者姓名查找
{ for (int i=0;i<=tp;i++)
if (strcmp(reader[i].getna()na)==0&&reader[i].gettag()==0)
{ return &reader[i]; }
return NULL;
}
void display() //输出所有读者信息
{ for (int i=0;i<=tp;i++)
if (reader[i].gettag()==0)
reader[i].display();
}
void preader();//读者库维护
~RDatabase() //析构函数,将read[]写到reader.txt文件中
{ fstream file(“reader.txt“ios::out);
for (int i=0;i<=tp;i++)
if (reader[i].gettag()==0)
file.write((char *)&reader[i]sizeof(reader[i]));
file.close();
}
};
void RDatabase::preader()
{ int choose;
char na[10];
char wo[20];
int nu;
int a;//用来判断
int b;//用来判断
int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 288 2010-07-13 16:11 图书管理系统\book.txt
文件 264 2010-07-13 16:11 图书管理系统\reader.txt
文件 16040 2009-07-06 16:27 图书管理系统\图书管理系统.cpp
文件 86016 2011-06-27 18:17 图书管理系统\图书管理系统.doc
文件 3475 2010-07-13 16:09 图书管理系统\图书管理系统.dsp
文件 532 2010-07-13 16:12 图书管理系统\图书管理系统.dsw
文件 33792 2010-07-13 16:12 图书管理系统\图书管理系统.ncb
文件 48640 2010-07-13 16:12 图书管理系统\图书管理系统.opt
文件 782 2010-07-13 16:09 图书管理系统\图书管理系统.plg
目录 0 2011-06-27 18:17 图书管理系统
----------- --------- ---------- ----- ----
189829 10
相关资源
- C++实现21点游戏
- c++课程设计学生管理系统浙工大源码
- C语言进阶源码---基于graphics实现图书
- c++课程设计宾馆客房管理系统
- 简易图书管理系统C语言
- MFC课程设计学生管理系统
- vc++课程设计 让计算机来猜测用户“暗
- 基于VC++利用MFC做的图书管理系统
- C++课程设计 扑克牌游戏内含2程序
- 图书管理系统.cpp
- 基于c++的图书馆图书管理系统
- C++课程设计五子棋基于Qt4
- c#图书管理系统+详细数据库设计文档
- VC++课程设计 计算器
- C++花店销售管理系统源码及文档
- c++面向对象图书管理系统
- C++课程设设计 员工信息管理系统
- 图书管理系统及数据库
- 图书管理系统mfc+sql
- vc++课程设计——聊天室
- c++课程设计之车票管理系统
- C++学生宿舍管理系统
- 经典的图书管理系统c++源代码
- c++和SqlServer做的图书管理系统
- 图书管理系统源代码(C++)数据库
- C++课程设计计算器MFC
- mfc图书管理系统236562
- EGE C语言 图书馆管理系统 实习作业
- c语言期末大作业图书管理系统
- 图书管理系统VC6 MFC
评论
共有 条评论