C 图书管理系统代码

时间:2026-01-14

C 图书管理系统代码

#include"iostream.h"

#include"conio.h"

#include"fstream.h"

#include"iomanip.h"

#include"string.h"

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 cbs[20]; //³ö°æÉç

int onshelf; //ÊÇ·ñÔÙ¼Ü 1:ÔÙ¼Ü 2:Òѽè

public:

Book(){;}

char *getname()

{//»ñÈ¡ÊéÃû

return name;

}

char *getauthorname()

{//»ñÈ¡×÷ÕßÃû

return author;

}

char *getcbsname()

{//»ñÈ¡³ö°æÉçÃû

return cbs;

}

int getno()

{//»ñȡͼÊé±àºÅ

return no;

}

int gettag()

{//»ñȡɾ³ý±ê¼Ç

return tag;

}

void setname(char na[])

{//ÉèÖÃÊéÃû

C 图书管理系统代码

strcpy(name,na);

}

void setonshelf(int oa)

{

onshelf=oa;

}

void delbook()

{//ɾ³ýͼÊé

tag=1;

}

void addbook(int n,char *na,char *aa,char *ca,int oa)

{//Ôö¼ÓͼÊé

tag=0;

no=n;

strcpy(name,na);

strcpy(author,aa);

strcpy(cbs,ca);

onshelf=oa;

}

int borrowbook()

{//½èÊé²Ù×÷

if (onshelf>0)

{

onshelf--;

return 1;

}

return 0;

}

void retbook()

{//»¹Êé²Ù×÷

onshelf++;

}

void disp()

{//Êä³öͼÊé

cout<<setw(6)<<no<<setw(18)<<name<<setw(10)<<author<<setw(10)<<cbs<<setw(10)<<onshelf<<endl;

}

};

class BDatabase

{//ͼÊé¿âÀ࣬ʵÏÖ¶ÔͼÊéµÄά»¤£¬²éÕÒ£¬É¾³ýµÈ

private:

int top; //ͼÊé¼Ç¼ָÕë

Book book[Maxb]; //ͼÊé¼Ç¼

C 图书管理系统代码

public:

BDatabase()

{//¹¹Ô캯Êý£¬½«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;

}

file.close();

}

void clear()

{//ȫɾ

top=-1;

}

int addbook(int n,char *na,char *aa,char *ca,int oa)

{//Ôö¼ÓͼÊé

Book *p=query1(n);

if (NULL==p)

{

top++;

book[top].addbook(n,na,aa,ca,oa);

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;

C 图书管理系统代码

for(int i=0;i<=top;i++)

if(strcmp(book[i].getname(),a)==0 &&book[i].gettag()==0) {

if(r==0)

cout<<setw(6)<<"±àºÅ"<<setw(18)<<"ÊéÃû"<<setw(10)<<"×÷Õß"<<setw(10)<<"³ö°æÉç"<<setw(10)<<"´æÁ¿"<<endl;

e=&book[i];

e->disp();

r++;

}

if(r==0)

cout<<"ÕÒ²»µ½¸ÃÊé!"<<endl;

return NULL;

}

Book *query3(char a[])

{//°´×÷Õß²éÕÒͼÊé

Book *e;

int r=0;

for(int i=0;i<=top;i++)

if(strcmp(book[i].getauthorname(),a)==0 &&book[i].gettag()==0) {

if(r==0)

cout<<setw(6)<<"±àºÅ"<<setw(18)<<"&# …… 此处隐藏:6527字,全部文档内容请下载后查看。喜欢就下载吧 ……

C 图书管理系统代码.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219