1 / 13
文档名称:

C++图书管理.doc

格式:doc   大小:49KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C++图书管理.doc

上传人:xgs758698 2018/11/12 文件大小:49 KB

下载得到文件列表

C++图书管理.doc

相关文档

文档介绍

文档介绍://#include ""
#include <iostream>
#include <iomanip>
#include <fstream>
#define Maxr 100//读者数上限
#define Maxb 100//图书种类上限
#define Maxbor 6//每位读者最多借6本书
using namespace std;
class Reader{//读者信息
private:
char name[10]; //读者姓名
char college[20];//学院
int tag; //删除标记 1:已删 0:未删
int no; //图书证号
int job;//职称:教授=1;学生=3,其他=2。
int days;//借阅时限
int year,month,day;//到期日计算
int year1,month1,day1;//借入日期
int borbook[Maxbor];//所借图书
public:
Reader() {}
char *getname() {return name;} //获取姓名
char *getcollege() {return college;} //获取学院
int gettag() {return tag;} //获取删除标记
int getno() {return no;} //获取读者编号
void setname(char na[]) { //设置姓名
strcpy(name,na);
cout<<"修改成功!\n";
}
void delreader(){
tag=1;
cout<<"删除成功!";
}//删除 1:已删 0:未删
void addreader(char *na,int num,char *co,int jo){//增加读者
tag=0;
job=jo;
no=num;
strcpy(college,co);
strcpy(name,na);
switch (job){
case 1:days=180;break;
case 2:days=90;break;
case 3:days=30;
}
for(int i=0;i<Maxbor;i++)
borbook[i]=0;//借阅序列。0为空
}
void setdate(int ny,int nm,int nd){
year=ny;month=nm;day=nd;
year1=ny,month1=nm,day1=nd;
}

bool isleapyear()
{ if((year%4==0)&&(year%100!=0)||(year%400==0))
return true;
return false;
}
void adddays(int days)
{ int mon[15]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,day1=0;
for(i=0;i<month;i++)
{day1=day1+mon[i];}
day=day+day1+days;
while(day>=365)//计算一年内的日期
{ if(isleapyear()&&day>365)
{ year++;
day-=366;}
else
{ year++;
day-=365;
}
}
month=1;
while(day>31)/*一般情况时的计算*/
{switch(month){
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
case 1: {month++; day-=31;break;}
case 4:
case 6:
case 9:
case 11:{month++;day-=30;break;}
case 2: {month++;day-=(28+isleapyear());break;}
}
if(month>12)
{year++;month-=12;}
}
if(day==0){day=31,month=12;year--;}
if(month==2){
if(isleapyear()) /*判断剩余天数在29~31之间时的二月*/
{if(day==30){month=3;day=1;}else if(day=