您好,欢迎来到投聚财经。
搜索
您的当前位置:首页薛霞图书管理完整

薛霞图书管理完整

来源:投聚财经




个人收集整理勿做商用途

济南大学

成绩






面向对象程序设计

课程设计报告

设 计 名 称 图书管理系统设计

院信息科学与工程学院



计算机科学与技术

班 级 计1113 学 号 20111221324
设计起止时间:2013 9 2 日至 2013 9 6

一、目地及意义

本题目要完成一个图书管理系统,能够让读者实现借书,还书以及图书馆管

理员实现图书维护和读者维护地功能,由图书管理员录入图书地信息,包括图书

编号、图书名、作者(包括多个作者地情况)、出版社、出版日期、定价、馆藏

数、借阅数等信息,管理员管理读者地信息,读者信息包括读者编号、读者姓名、

所借图书等,读者可以实现借书、还书等操作.个人收集整理勿做商业用途

这个系统方便了图书管理员管理系统,图书管理员可以实现图书地查找、删

除、添加、更改等功能,以及读者地管理,如:删除读者信息,添加读者信息和

更改读者信息地功能.实现这个系统主要是用面向对象地语言C++写地,程序里

用到了栈地知识,对于简单地小程序采用内联函数,在文件中写入以及读出,用

常对象指定图书和读者管理人数地最大值,用类数组放图书和读者地信息.在图

书类和图书库里采用类地组合,对于日期地存放用到结构体,考虑到多个图书地

作者地情况,用getline()输入作者名,以‘.’结束.系统也采用了继承与派生,



个人收集整理勿做商用途

图书库类继承了图书类,读者库类继承了读者类,都是公有继承.系统界面采用

文本菜单方式,交互性好.个人收集整理勿做商业用途

二、系统设计

(一)、图书维护

1增加图书信息:系统可以实现从键盘上录入新地图书地信息,第一

次进入系统,图书库是空地,需要录入图书信息.个人收集整理勿做商业用

2更改图书信息:系统可以实现从键盘上录入想要更改地图书信息,

先输入要修改地图书编号,然后进入修改系统,可以修改图书名字、

作者(包括多个作者地情况)、出版社、出版日期、定价、馆藏数等

信息.个人收集整理勿做商业用途

3 查找图书信息:系统可以实现查找管理员想要找到地图书信息,

只需要输入图书编号,就可以实现查找图书信息.

4显示图书信息:系统可以实现在屏幕上显示全部图书信息.包括图书

编号、图书名、作者(包括多个作者地情况)、出版社、出版日期、

5 全部删除图书信息系统可以实现删除所有图书信息,清空图书 定价、馆藏数等信息.个人收集整理勿做商业用途

库地功能.


1 新增读者信息:系统可以实现从键盘上录入新地读者信息,第一

次进入系统,读者库是空地,需要录入读者信息.

2 更改读者信息:系统可以更改读者地信息,从键盘上输入想要更

改地读者编号,就可以修改读者地信息.

3删除读者信息:系统可以实现删除读者信息,只需要从键盘上输入

要删除地读者信息地编号,就可以删除读者信息.个人收集整理勿做商业用

4查找读者信息:系统可以实现查找读者信息,输入读者地编号,可

以查找到读者地全部信息,包括读者编号、读者姓名、所借图书等.

个人收集整理勿做商业用途

5 显示读者信息:系统可以显示读者地全部信息.

6 全部删除读者信息:系统可以实现删除所有读者信息,清空读者

库地功能.

7 退出读者维护系统:结束读者维护管理.



个人收集整理勿做商用途

(三)、借书
输入要借书地读者编号以及要借地图书,就可以借书.图书库里地本 书地馆藏数自动减1,借阅数加1.如果没有找到与之匹配地读者编号, 那么系统输出“对不起,不存在该读者,不能借书”.如果没有找到与 之匹配地图书编号,那么系统输出“对不起,不存在该图书,不能借书”. 如果该图书该读者已经借出去了,那么系统输出“对不起,该图书已借 出,不能借书”.如果找到与之相应地编号,则输出“借书成功”.个人收

集整理勿做商业用途

(四)、还书
输入要还书地读者信息以及要还地书地编号,就可以还书,还书地 时候需要输入借书时间和还书时间,以确定是否要逾期付款,超过1 月,逾期一天,罚款1角,不超过1个月就不罚款.如果输入地读者有 误,那么系统输出“对不起,不存在该读者,不能还书”.如果输入地 图书有误,那么系统输出“对不起,不存在该图书,不能还书”.个人收集

整理勿做商业用途

1.系统功能模块设计
开始系统界面如图所示: 图书管理系统:可以实现借书,还书,图书维护,读者维护,以及退出系
图书维护
:主要实现增加图书信息,更改图书信息,查找图书信息,显示 图书信息,全部删除图书信息,退出图书维护系统地功能.个人收集整理勿做商

业用途

2图书管理系统图书维护界面图

读者维护:主要实现新增读者信息,更改读者信息,删除读者所借图书信息,查找读者信息,显示读者信息,全部删除读者信息和退出读者维护系统.个人收集整理勿做商业用途

2.类地分析与设计
系统使用类来组织管理数据,共包括读者类Student、读者库类Borrow 图书类Book、图书库类Library用来描述图书管里各图书和读者地属性 以及操作,读者类Student用来描述读者地基本信息,图书类Book用来 描述图书地基本信息,读者库类Borrow用实现读者地增添、删除、查询、



个人收集整理勿做商用途

更改信息、显示读者基本信息地操作,读者类Library用来描述读者地基

本信息,图书类Book用来描述图书地基本信息,读者库类Borrow用实现

读者地增添、删除、查询、更改信息、显示读者地基本信息地操作.这几

个类综合实现借书、还书.个人收集整理勿做商业用途

读者类 图书类

读者库类 图书库类

借书、还书等操作

5图书管理系统类关系地UML

3.系统详细设计

? 读者类Student.

类属性包括读者编号(number)、读者姓名(name)、所借图书编号

number)、读者所在单位(work)、读者借阅日期Bor1[],Bor2[]Bor3[]

三个日期分别表示年月日,实现对读者类地描述.个人收集整理勿做商业用途

成员函数包括读者无参构造函数(Student,提取读者姓名地函数

getname

setname
,提取读者编号地函数(getnumber

,重置单位地函数(setwork),增加读者信息地函数,重置姓名地函数


类属性包括读者记录指针(top),读者类地数组rea[].

成员函数包括读者库类成员函数(Borrow),清除读者信息地函数

clear),增加读者信息(addStudent),查找是否和编号相匹配地函数

equal),输出读者信息地函数(output),读者库地维护函数,析构函数

~Borrow.个人收集整理勿做商业用途

? 图书类Book.

类属性包括图书地编号(number),图书地名字(name),图书地作者

bookname),出版社(press),出版日期(date),定价(price),馆藏

是否在架(onshelf.个人收集整理勿做商业用途

成员函数包括图书无参构造函数(Book),提取图书名字(getname),

提取图书编号(getnumber),修改图书名字(setname),修改作者名

setzbookname),修改出版社(setpress),修改出版日期(setdate),

修改定价(setprice),删除图书(delbook),借书操作(borrowbook),

还书操作(retbook),输出图书信息(output.个人收集整理勿做商业用途




个人收集整理勿做商用途

? 图书库类Library.

类属性包括图书数组(book.

成员函数包括构造函数(Library),清空所有信息(clear),增加图

书信息(addbook),查找是否匹配(equal),输出信息(output),析构

函数(~Library.个人收集整理勿做商业用途

开始

创建读者对象和图书对象

显示图书管理系统操作菜单

根据输入执行不同操作完成

退


开始

图书维护系统菜单

退

7 图书维护系统图





个人收集整理勿做商用途

开始

读者维护系统菜单

退


个人收集整理勿做商业用途

8读者维护系统图

三、系统调试分析、存在问题与不足

和图书地内容地修改功能不够完善借书和还书地时候需要认为地输入借书和还系统地健壮性不大好,还是存在如果输入错误;会造成死循环.系统对读者

书日期;计算借书时间地时候,不能考虑平年和闰年,不能考虑到不同月份有不
虽然课程设计中用到地知识点我们都学了,平时上机练习地时候感觉用地
很熟练,但是真地到了综合应用、设计东西地时候,有种摸不到头脑地感觉,很
多东西综合运用起来,出现了许多无法调试地错误;
而且,设计出来地东西特别麻烦复杂,程序地健壮性若.我们班那些实力很强地人,设计出来地程序,简单
有序,清晰明了,灵活性、扩展性强.个人收集整理勿做商业用途
从这次课程中我体会到,程序设计只是学会是远远不够地,他需要我们不
断练习、实践.这样我们才会更加熟练灵活地运用所学地知识,设计出更急简单,
健壮地程序.使我们思考问题地思路更加灵活,扩宽我们地思维方式,提高我们
思考问题解决问题地能力.个人收集整理勿做商业用途
解决问题我们要保持头脑清醒,冷静.一点一点地解决.

五、附录

源代码:
#include <iostream>
#include <iomanip>





个人收集整理勿做商用途

#include<string>
#include<fstream>
usingnamespace std;
constint Reader=100;//最大读者限量
constint Maxb=100;//图书馆地最大馆藏量
constint Bor=2;//借书地最大限量
classStudent
{
private:
inttag;
intnumber; //读者编号
charname[10];//读者姓名
charwork[20];//工作单位
intborbook[Bor];//读者编号数组
int bor1[Bor];//
int bor2[Bor];//

public: int bor3[Bor];//
return name;
}
int gettag()
{
return tag;
}
int getnumber()//读者编号
{
return number;
}
int getyear(int i)//得到时间
{

}

return bor1[i];






个人收集整理勿做商用途

int getmonth(int i)
{
return bor2[i];
}
int getday(int i)
{
return bor3[i];
}
void delbook()//着个删除
{
tag=1;
}
void addStudent1(int n,char *na,char*wo)//增加读者
{
tag=0;
number=n;
strcpy(name,na); strcpy(work,wo);
void addStudent(int n,char *na)//增加读者
{
tag=0;
number=n;
strcpy(name,na);
for(inti=0;i<Bor;i++)
borbook[i]=0;
}
voidsetname(char *na)
{
strcpy(name,na);
}

void setwork(char *wo)



{







个人收集整理勿做商用途

strcpy(work,wo);
}
void borrowbook(intbookid)//借书操作
{
for(int i=0;i<Bor;i++)
{
if (borbook[i]==0)
{
borbook[i]=bookid;
cout<<"借书时间:"<<endl;
cin>>bor1[i]>>bor2[i]>>bor3[i];
return;
}
}
}
int booksum()//书是否借满
{intj=0; for(int i=0;i<Bor;i++)
}
return j;
}
int retbook(int bookid)//还书操作
{
for(int i=0;i<Bor;i++)
{
if(borbook[i]==bookid)
{
borbook[i]=0;
{
int a,b,c;
float j;

cout<<"还书时间"<<"年,月,日"<<endl;




个人收集整理勿做商用途

cin>>a>>b>>c;
j=-((getyear(i)*365+getmonth(i)*30+getday(i))-(a*365+b*30+c))*0.1;个人收集整理勿

做商业用途

cout<<"罚款:"<<j<<""<<endl;
}
return 1;
}
}
return 0;
}
void output()//读出读者信息
{
if(gettag()==1)
return;
cout<<"证件:"<<setw(5)<< number <<"姓名:"<<setw(10)<< name<<"单位
"<<setw(7)<<work<<" 借书编号[";
for(int i=0;i<Bor;i++) if(borbook[i]!=0)
}
};
class Borrow
{
private:
int top;//读者记录指针
Studentread[Reader];
public:
Borrow() //构造函数,将Student.txt读到read[]
{
Student s;
top=-1;

fstream file("reader.txt",ios::in);//打开一个输入文件



while (1)







个人收集整理勿做商用途

{
file.read((char *)&s,sizeof(s));
if(!file)break;
top++;
read[top]=s;
}
file.close();
}
void clear()
{
top=-1;
}
int addStudent(int n,char *na,char*wo)//查找是否存在
{
Student *p=equal(n);
if (p==NULL)
{ top++;
return 0;
}
Student *equal(int Studentid)//按编号查找
{
for (int i=0;i<=top;i++)
if(read[i].getnumber()==Studentid &&
read[i].gettag()==0)
{
return &read[i];
}
return NULL;
}

void output()
{






个人收集整理勿做商用途

for (int i=0;i<=top;i++)
read[i].output();
}
void Studentdata();//读者库维护
~Borrow()//析构函数,将read[]写到Student.txt文件中
{
fstreamfile("reader.txt",ios::out);
for (inti=0;i<=top;i++)
if (read[i].gettag()==0)
file.write((char *)&read[i],sizeof(read[i]));
file.close();
}
};
class Book
{
private:
int tagg; int tag;
chardate[30];//出版日期
char writer[100];//作者
charname[20];//书地名字
intonshelf;
public:
Book(){}
int geton()
{
return onshelf;
}
intgettagg()
{

}

return tagg;






个人收集整理勿做商用途

char *getname()
{
return name;
}
intgetnumber()
{
return number;
}
intgettag()
{
return tag;
}
voidsetprice(char pi[])
{
strcpy(price,pi);
}
void setwriter(char rwriter[]) {
{
strcpy(press,rpress);
}
voidsetdate(char rdate[])
{
strcpy(date,rdate);
}
void setname(char na[])
{
strcpy(name,na);
}
void delbook()

{

onshelf=0;






个人收集整理勿做商用途

tag=1;
tagg=0;
}
void addbook(intn,char *na,char *wr,char *da,char *pr,char *pi)个人收集整理勿做商业用途
{
tag=0;
tagg=1;
number=n;
setname(na);
setwriter(wr);
setdate(da);
setpress(pr);
setprice(pi);
onshelf=1;
}
intborrowbook()//借书操作
{ if (onshelf==1)
}
return 0;
}
voidretbook()//还书操作
{
onshelf=1;
}
void output()//输出图书
{
cout <<"编号"<<setw(5) << number <<"姓名:"<<setw(6) << name <<"作者:"<<
setw(5)<<writer<<"出版社"<<setw(12)<<"出版日期:"<<setw(9)<<date个人收集整理勿做商业用途

}
};

<<"价格:"<<price<<(onshelf==1? "在架":"已借") <<endl;





个人收集整理勿做商用途

classLibrary
{
private:
int top;
Book book[Maxb]; //图录
public:
Library()//构造函数,将book.txt读到book[]
{
Book b;
top=-1;
fstream file("book.txt",ios::in);
while(1)
{
file.read((char *)&b,sizeof(b));
if(!file) break;
top++;

} book[top]=b;
{
top=-1;
}
intcha()
{
return (equal1()-equal2());
}
intaddbook(int n,char *na,char *wr,char *da,char *pr,char*pi)个人收集整理勿做商业用途
{
Book *p=equal(n);
if (NULL==p)
{
top++;

book[top].addbook(n,na,wr,da,pr,pi);




个人收集整理勿做商用途

return 1;
}
return 0;
}
Book*equal(int bookid)
{
for (int i=0;i<=top;i++)
if (book[i].getnumber()==bookid &&book[i].gettag()==0)个人收集整理勿做商业用途
{
return &book[i];
}
return NULL;
}
int equal1()
{
int j=0;
for (inti=0;i<=top;i++) if (book[i].gettagg()==1)
int equal2()
{
int j=0;
for (int i=0;i<=top;i++)
if (book[i].geton()==1)
j++;
returnj;
}
void bookdata();
void output()
{
for (int i=0;i<=top;i++)

if (book[i].gettag()==0)



book[i].output();







个人收集整理勿做商用途

}
~Library()//析构函数,将book[]写到book.txt文件中
{
fstreamfile("book.txt",ios::out);
for (inti=0;i<=top;i++)
if (book[i].gettag()==0)
file.write((char *)&book[i],sizeof(book[i]));
file.close();
}
};
void Library::bookdata()
{
char choice;
char bname[40];
char bwriter[100];
char bpress[20];
char bdate[30]; char bprice[20];
{
cout<<" ------------------------------ \n";个人收集整理勿做商业用途
cout<<" ------------------------------ \n";个人收集整理勿做商业用途
cout<<" 图书维护 \n";个人收集整理勿做商

业用途

cout<<" \n";个人收集整理勿做商

业用途

cout<<" 1.新增图书 \n";个人收集整理勿做商业

用途

cout<<" \n";个人收集整理勿做商

业用途

cout<<" 2.更改图书 \n";个人收集整理勿做商业

用途 cout<<" \n";个人收集整理勿做商

业用途



个人收集整理勿做商用途

cout<<" 3.删除图书 \n";个人收集整理勿做商业用途

cout<<" \n";个人收集整理勿做商业用途

cout<<" 4.查找图书 \n";个人收集整理勿做商业用途

cout<<" \n";个人收集整理勿做商业用途

cout<<" 5.显示全部图书信息 \n";个人收集整理勿做商业用途

cout<<" \n";个人收集整理勿做商业用途

cout<<" 6.删除全部图书 \n";个人收集整理勿做商业用途

cout<<" \n";个人收集整理勿做商业用途

用途 cout<<" 7.显示图书数量信息 \n";个人收集整理勿做商业

用途业用途

cout<<" ------------------------------ \n";个人收集整理勿做商业用途cout<<" ------------------------------ \n";个人收集整理勿做商业用途cin>> choice;
switch(choice)
{
case '1':
cout<< "输入图书编号:"<<endl;
cin>> bookid;
if(equal(bookid))
{

cout<<"该编号已存在"<<endl;
break;



}







个人收集整理勿做商用途

cout << "输入图书书名:"<<endl;
cin >> bname;
cout<<"作者"<<endl;
cin>>bwriter;
cout<<"出版社"<<endl;
cin>>bpress;
cout<<"出版日期:XXXX-xx-xx"<<endl;
cin>>bdate;
cout<<"价格"<<endl;
cin>>bprice;
addbook(bookid,bname,bwriter,bdate,bpress,bprice);
break;
case '2':
cout <<"输入图书编号:"<<endl;
cin >> bookid;
b=equal(bookid);
if(b==NULL) {
cout << "输入新地书名:"<<endl;
cin >> bname;
b->setname(bname);
break;
case '3':
cout <<" 读入图书编号:"<<endl;
cin >> bookid;
b=equal(bookid);
if(b==NULL)
{
cout <<" 该图书不存在"<< endl;
break;

}
if(!






个人收集整理勿做商用途

b->geton ())
{
cout<<"该书尚未还,不能删除"<<endl;
break;
}
b->delbook();
break;
case'4':
cout << " 读入图书编号:"<<endl;
cin>> bookid;
b=equal(bookid);
if (b==NULL)
{
cout<<" 该图书不存在"<<endl;
break;
}

break; b->output();
case '6':
if(equal1()-equal2())
{
cout<<"存在书尚未还,不能执行此操作!"<<endl;
break;
}
clear();
break;
case'7':cout<<"共有书:"<<equal1()<<"借阅数是:"<<equal1()-equal2()<<endl;break;个人

收集整理勿做商业用途

default:cout<<"退出\n";system("cls"); break;
}

}
}






个人收集整理勿做商用途

voidBorrow::Studentdata()
{
charchoice, i;
charrname[20];
charrwork[20];
intStudentid;
Student*r;
Libraryq;
while(choice!='0')
{

cout<<"

------------------------------

\n";个人收集整理勿做商业用途

cout<<"

------------------------------

\n";个人收集整理勿做商业用途

cout<<" 读者维护 \n";个人收集整理勿做

商业用途

cout<<" \n";个人收集整理勿做

商业用途

商业用途 cout<<" 1.新增读者 \n";个人收集整理勿做

商业用途商业用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 3.删除读者信息 \n";个人收集整理勿做

商业用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 4.查找读者信息 \n";个人收集整理勿做

商业用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 5.显示读者信息 \n";个人收集整理勿做

商业用途 cout<<" \n";个人收集整理勿做

商业用途



个人收集整理勿做商用途

cout<<" 6.删除全部读者 \n";个人收集整理勿做

商业用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 0.返回上层 \n";个人收集整理勿做

商业用途

cout<<"

------------------------------

\n";个人收集整理勿做商业用途

cout<<"

------------------------------

\n";个人收集整理勿做商业用途

cin>> choice;
switch (choice)
{
case '1':
cout << "输入读者编号:";
cin>> Studentid;
if(equal(Studentid))
{

break; cout<<"该读者编号已存在!"<<endl;
cout<<"输入读者单位:";
cin>>rwork;
addStudent(Studentid,rname,rwork);
break;
case '2':
cout << "输入读者编号:";
cin >> Studentid;
r=equal(Studentid);
if(r==NULL)
{
cout << " 该读者不存在"<<endl;
break;
}

cout<<"1、修改姓名;2、修改单位"<<endl;




个人收集整理勿做商用途

cin>>i;
switch(i)
{
case'1':{cout << "输入新地姓名:";cin >> rname;r->setname(rname);break;}个人收集整

理勿做商业用途

case'2':{cout << "输入新地单位:";cin >> rwork;r->setwork(rwork);break;}个人收集整理

勿做商业用途

default:cout<<"退出:\n";system("cls");break;
}
case '3':
cout<< " 输入读者编号:";
cin>> Studentid;
r=equal(Studentid);
if(r==NULL)
{
cout<<" 该读者不存在"<< endl;

} break;
break;
}
r->delbook();
break;
case '4':
cout << "读入读者编号:";
cin >> Studentid;
r=equal(Studentid);
if (r==NULL)
{
cout <<"该读者不存在"<<endl;
break;

}

r->output();






个人收集整理勿做商用途

break;
case '5':
output();
break;
case '6':
cout<<q.cha ();
if(q.cha ())
{
cout<<"还有未还图书地借书者,不能执行此操作!"<<endl;
break;
}
clear();
break;
default:cout<<"退出:\n";system("cls");break;
}
}
} void main()
Borrow StudentDB;
Student *r;
Library BookDB;
Book *b;
while(choice!='0')
{

cout<<"

------------------------------

\n";个人收集整理勿做商业用途

cout<<"

------------------------------

\n";个人收集整理勿做商业用途

cout<<" 图书管理系统 \n";个人收集整理勿做

商业用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 1.借书 \n";个人收集整理勿做商业用途



个人收集整理勿做商用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 2.还书 \n";个人收集整理勿做

商业用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 3.图书维护 \n";个人收集整理勿做

商业用途

cout<<" \n";个人收集整理勿做

商业用途

cout<<" 4.读者维护 \n";个人收集整理勿做

商业用途

cout<<" \n"; 个人收集整理

勿做商业用途

cout<<" 0.退出 \n";个人收集整理勿做

商业用途

cout<<" cout<<" ------------------------------ ------------------------------\n";个人收集整理勿做商业用途 \n";个人收集整理勿做商业用途
case '1': system("cls");
cout <<"读者编号:";
cin >>Studentid;
r=StudentDB.equal(Studentid);//按编号查找
if (NULL==r)
{
cout <<" 不存在该读者,不能借书"<<endl;
break;
}
if(r->booksum ()==2)
{

cout<<"已借书2 本,不能再继续借书."<<endl; break;



}







个人收集整理勿做商用途

cout <<" 图书编号:";
cin>>bookid;
b=BookDB.equal(bookid);
if(b==NULL)
{
cout <<" 不存在该图书,不能借书"<<endl;
break;
}
if(b->borrowbook()==0)
{
cout << " 该图书已借出,不能借书"<<endl;
break;
}
r->borrowbook(b->getnumber());system("cls");
break;
case'2':

cout<<"还书\n读者编号:"; system("cls");
r=StudentDB.equal(Studentid);
if (r==NULL)
{
cout <<" 不存在该读者,不能还书"<< endl;
break;
}
b=BookDB.equal(bookid);
if (b==NULL)
{
cout <<" 不存在该图书,不能还书"<<endl;
break;
}

b->retbook();



//

i=r->reti ();




个人收集整理勿做商用途

r->retbook(b->getnumber());
break;
case'3':
system("cls");
BookDB.bookdata();
break;
case'4':
system("cls");
StudentDB.Studentdata();
break;
default:cout<<"退出\n";
}
}







个人收集整理勿做商用途

版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理。

版权为张俭个人所有

This article includes some parts, including text, pictures,

anddesign. Copyright is Zhang Jian's personal ownership.

用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其

他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面

许可,并支付报酬。
Users may use the contents or services of this article
they shall abide by the provisions of copyright law and other

relevantlaws, and shall not infringe upon the legitimate rights of thiswebsite and its relevant obligees. In addition, when any content orservice of this article is used for other purposes, writtenpermission and remuneration shall be obtained from the personconcerned and the relevant obligee.





个人收集整理勿做商用途

转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。

Reproductionor quotation of the content of this article must be reasonable andgood-faith citation for the use of news or informative public freeinformation. It shall not
misinterpretor modify the original intention of the content of this article, andshall bear legal liability such as copyright.





Copyright © 2019- tjwe.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务