人人范文网 范文大全

课程设计

发布时间:2020-03-01 20:07:00 来源:范文大全 收藏本文 下载本文 手机版

课程设计

图书管理系统

姓名:严永林

班级:测控1301班 学号:201304729

#include #include #include #include using namespace std; const int Maxr=100; const int Maxb=100; const int Maxbor=5; cla Reader

{

private: int tag;

int no;

char name[10]; int borbook[Maxbor];

public:

Reader() {}

char *getname() {return name;}

int gettag() {return tag;}

int getno() {return no;}

void setname(char na[])

{

strcpy(name,na);

} void delbook(){ tag=1; } void addreader(int n,char *na)

tag=0;

no=n;

strcpy(name,na);

for(int i=0;i

borbook[i]=0; }

{

}; void borrowbook(int bookid) {

} int retbook(int bookid) {

} void disp() {

} cout

if(borbook[i]!=0)

cout

} return 0;

if(borbook[i]==bookid) {

borbook[i]=0; return 1; } for(int i=0;i

}

if (borbook[i]==0) {

}

borbook[i]=bookid; return;

cout

cla RDatabase {

private:

int top;

/

Reader read[Maxr]; public:

{ } int addreader(int n,char *na) {

Reader *p=query(n); if (p==NULL) {

top++;

read[top].addreader(n,na);

return 1; } return 0; top=-1; RDatabase() {

} Reader s; top=-1; fstream file(\"reader.txt\",ios::in); while (1) {

} file.close();

//关闭 reader.txt

file.read((char *)&s,sizeof(s)); if (!file)break; top++; read[top]=s;

}; void RDatabase::readerdata() {

char choice;

char rname[20]; int readerid; Reader *r; while (choice!=\'0\') } } Reader *query(int readerid)//按编号查找 {

} void disp() } void readerdata(); ~RDatabase() //析构函数,将read[]写到reader.txt文件中 {

fstream file(\"reader.txt\",ios::out);

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

file.write((char *)&read[i],sizeof(read[i]));

file.close();

{

read[i].disp(); for (int i=0;i

if (read[i].getno()==readerid && read[i].gettag()==0) { }

return NULL;

return &read[i];

for (int i=0;i

for (int i=0;i

cout

护\\n\\n\\n\\t\\t 1

增\\n\\n\\t\\t 2

改\\n\\n\\t\\t 3

除\\n\\n\\t\\t 4

找\\n\\n\\t\\t 5

示\\n\\n\\t\\t 6

删\\n\\n\\t\\t 0

退

出\"

cin >> choice; switch (choice) {

cout > readerid; cout > rname;

addreader (readerid,rname); break;

cout > readerid; r=query(readerid); if (r==NULL) { }

cout > rname; r->setname(rname); break;

cout

cout

break; }

cout

\"

break;

case \'1\':

case \'2\':

case \'3\':

cin >> readerid;

}

}

}

case \'4\':

case \'5\':

case \'6\':

r->delbook(); break;

cout > readerid; r=query(readerid); if (r==NULL) {

} r->disp(); break; disp(); break; clear(); break;

cout

default:cout

int tag;//删除标记 1:已删 0:未删

public:

Book(){} char *getname() { return name; }//获取姓名 int getno(){ return no; }//获取图书编号 int no;//图书编号 char name[20];//书名

int onshelf;//是否再架 1:再架 2:已借

}; int gettag(){ return tag; }//获取删除标记 void setname(char na[])//设置书名 { } void delbook(){ tag=1;}//删除图书 void addbook(int n,char *na)//增加图书 {

} int borrowbook()//借书操作 {

} void retbook()//还书操作 { } void disp()//输出图书 {

} cout

} return 0;

onshelf=0; return 1; tag=0; no=n; strcpy(name,na); onshelf=1; strcpy(name,na); //图书库类,实现对图书的维护,查找,删除等 cla BDatabase { private:

int top;

//图书记录指针

public:

BDatabase()//构造函数,将book.txt读到book[]中 {

} { } {

} Book *query(int bookid)//查找图书 { for (int i=0;i

} return 0;

top++;

book[top].addbook(n,na); return 1; top=-1;

Book b; top=-1;

fstream file(\"book.txt\",ios::in); while (1) {

}

file.close();

file.read((char *)&b,sizeof(b)); if (!file) break; top++; book[top]=b; Book book[Maxb]; //图书记录

void clear()//全删

int addbook(int n,char *na)//增加图书

};

}

if (book[i].getno()==bookid &&book[i].gettag()==0) { }

return NULL;

return &book[i]; void bookdata();//图书库维护 void disp() {

for (int i=0;i

} ~BDatabase()//析构函数,将book[]写到book.txt文件中 {

} fstream file(\"book.txt\",ios::out);

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

file.write((char *)&book[i],sizeof(book[i]));

file.close();

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

book[i].disp();

for (int i=0;i

char choice;

char bname[40]; int bookid; Book *b; while (choice!=\'0\') {

cout

护 \"

增\\n \\t\\t2

改\\n\\t\\t3

除\\n\\t\\t4

cin >> choice; switch (choice) { 查

找\\n\\t\\t5

示\\n\\t\\t6

删\\n\\t\\t0

退

出\"

case \'1\':

case \'4\':

cout > bookid; b=query(bookid); if (b==NULL)

cout > bookid; cin >> bname;

addbook(bookid,bname); break;

cout > bookid; b=query(bookid); if (b==NULL) { }

cout > bname; b->setname(bname); break;

cout

cout

break; }

b->delbook(); break;

cout

\"

break;

cout

case \'2\':

case \'3\':

cin >> bookid;

}

}

}

case \'5\':

case \'6\':

{

} b->disp(); break; disp(); break; clear(); break;

cout

default:cout

int main(void) {

cout

书\\n\\n\\t\\t\\t2

书 \\n\\n\\t\\t\\t3

图 书 维 护\\n\\n\\t\\t\\t4

读 者 维 护\\n\\n\\t\\t\\t0

开\"

cin >> choice; switch (choice) { char choice; int bookid,readerid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b; while(choice!=\'0\') {

cout

统\\n\\n\\n\";

case \'1\':

case \'2\':

cout>readerid; cout

图书编号:\"; cin >>bookid;

r=ReaderDB.query(readerid); if (r==NULL) {

}

b=BookDB.query(bookid);

cout

cout >readerid;

cout >bookid;

r=ReaderDB.query(readerid);//按编号查找 if (NULL==r) {

}

b=BookDB.query(bookid); if (b==NULL) {

}

if (b->borrowbook()==0) {

}

r->borrowbook(b->getno()); break;

cout

cout

cout

if (b==NULL) {

}

b->retbook();

r->retbook(b->getno()); cout

} return 0;}

break; case \'3\':

BookDB.bookdata();

break;

case \'4\':

ReaderDB.readerdata();

break;

default:cout

课程设计

课程设计

课程设计

课程设计

课程设计

课程设计

课程设计

课程设计

课程设计

课程设计

课程设计
《课程设计.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档