700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 用c语言写图书馆程序 用c语言写图书馆管理系统

用c语言写图书馆程序 用c语言写图书馆管理系统

时间:2022-06-02 22:16:02

相关推荐

用c语言写图书馆程序 用c语言写图书馆管理系统

满意答案

p68634193

.01.12

采纳率:54%等级:12

已帮助:7180人

你不觉得给的悬赏少了点么

新建一个下面的文件 讲这个文件和下面的代码放在一个目录下 表示你的图书数据库信息

lib.txt

1001 1

1 0

c primier

1003 1

1 0

c primier

1002 2

1 0

c++ primier

代码

#include

#include

#include//定义bool类型

#include

typedef struct book book;

struct book{

int bid;//书的id

int cid;//category id 所属的书的类别id

char bname[30];

int state;//书的state 0 已借出 1代表还未借出

int stdid;//借书人id 如果未借出 则此项为0

};

//booklist

book lib[100];

int len=0;

//书的类别五类

int category[5]={0};

void init_lib()//讲lib.txt存储的图书馆信息读入内存

{

FILE *fin=fopen("lib.txt","r");

if(!fin)

{

printf("openfile error!\n");

exit(1);

}

len=0;

while(!feof(fin))

{

fscanf(fin,"%d %d",&lib[len].bid,&lib[len].cid);

fscanf(fin,"%d %d",&lib[len].state,&lib[len].stdid);

fgetc(fin);

fgets(lib[len].bname,28,fin);

lib[len].bname[strlen(lib[len].bname)-1]='\0';//去除\n

category[lib[len].cid]++;

len++;

}

fclose(fin);

}

void libprint()//输出图书信息

{

int i;

for(i=0;i

{

printf("书名:%s\n编号:%d \n书目前的所属人(0代表图书馆):%d \n同类别图书共有:%d\n",lib[i].bname,lib[i].bid,lib[i].stdid,category[lib[i].cid]);

printf("-------------------------------------------------------------------------\n");

//printf("%d %d\n%d %d\n%s",lib[i].bid,lib[i].cid,lib[i].state,lib[i].stdid,lib[i].bname);

}

}

bool borrowbook(int bookid,int stdid)//借书

{

int i;

for(i=0;i

{

if(bookid==lib[i].bid&&lib[i].state==1)

{

lib[i].state=0;

category[lib[i].cid]--;

lib[i].stdid=stdid;

return 1;

}else

return 0;

}

return 0;

}

bool returnbook(int bookid,int stdid)//还书

{

int i=0;

for(i=0;i

{

if(bookid==lib[i].bid&&lib[i].state==0&&lib[i].stdid==stdid)

{

lib[i].state=1;

lib[i].stdid=0;

category[lib[i].cid]++;

return 1;

}

}

return 0;

}

void savelib()//将内存的数据写入lib.txt存储起来

{

FILE *fout=fopen("lib.txt","w");

if(!fout)

{

printf("写入失败!\n");

exit(0);

}

int i;

for(i=0;i

{

fprintf(fout,"%d %d\n%d %d\n%s\n",lib[i].bid,lib[i].cid,lib[i].state,lib[i].stdid,lib[i].bname);

}

fclose(fout);

printf("成功写入数据库文件!\n");

}

int main(void)

{

int choice,stdid,bookid;

init_lib();//数据读入内存

while(1)

{

choice=0;

printf("图书馆管理系统\n");

printf("---------------\n");

printf("1-将每本书信息输出\n");

printf("2-借书 \n");

printf("3-还书 \n");

printf("4-save \n");

printf("5-exit without save\n");

printf("---------------------------\n");

scanf("%d",&choice);

printf("---------------------------\n");

if(choice<1||choice>5)

{

printf("检查你的输入!(1,2,3,4,5)\n");

continue;

}

if(choice==1)

libprint();

if(choice==2)

{

printf("输入你要借的书的id和你的studentid(以空格分隔):\n");

scanf("%d %d",&bookid,&stdid);

if(borrowbook(bookid,stdid))

printf("成功借出!\n");

else

printf("借出错误\n");

}

if(choice==3)

{

printf("输入你要还的书的id和你的studentid(以空格分隔):\n");

scanf("%d %d",&bookid,&stdid);

if(returnbook(bookid,stdid))

printf("成功还书\n");

else

printf("还书错误\n");

}

if(choice==4)

{

savelib();

}

if(choice==5)

exit(0);

}

return 0;

}

01分享举报

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。