音像图书租借管理系统设计Word格式.docx

上传人:b****5 文档编号:18638128 上传时间:2022-12-30 格式:DOCX 页数:49 大小:232.89KB
下载 相关 举报
音像图书租借管理系统设计Word格式.docx_第1页
第1页 / 共49页
音像图书租借管理系统设计Word格式.docx_第2页
第2页 / 共49页
音像图书租借管理系统设计Word格式.docx_第3页
第3页 / 共49页
音像图书租借管理系统设计Word格式.docx_第4页
第4页 / 共49页
音像图书租借管理系统设计Word格式.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

音像图书租借管理系统设计Word格式.docx

《音像图书租借管理系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《音像图书租借管理系统设计Word格式.docx(49页珍藏版)》请在冰豆网上搜索。

音像图书租借管理系统设计Word格式.docx

structdate{//租借&

归还日期

intyear;

charch1;

intmonth;

charch2;

intday;

};

structlibrary{//音像图书库

charbianhao[10];

charname[100];

intprice;

intamount;

intshengyu;

structborrower{//租借者信息

charuname[100];

structdateborrow;

intmoney;

structdateback;

intrent;

4.程序代码设计

(1)创建音像图书库

voidbuild_book()

{

charch[10],op;

structlibrarya;

FILE*fp1=NULL;

fflush(stdin);

fp1=fopen("

d:

\\Library.txt"

"

a"

);

if(fp1==NULL)

{

printf("

\n文件打开错误!

\n"

exit(0);

}

printf("

\n请输入音像图书的编号:

"

scanf("

%s"

a.bianhao);

strcpy(ch,a.bianhao);

if(ch[0]!

='

B'

&

ch[0]!

V'

R'

非法输入!

请按任意键重新输入!

op=getchar();

op=getchar();

build_book();

请输入音像图书的名称:

a.name);

请输入音像图书的原价:

%d"

&

a.price);

请输入音像图书的原数量:

a.amount);

请输入音像图书的剩余数量:

a.shengyu);

if(a.amount<

=a.shengyu)

原数量不得小于剩余数量!

请重新输入!

scanf("

fprintf(fp1,"

%s\t%s\t%d\t%d\t%d\n"

a.bianhao,a.name,a.price,a.amount,a.shengyu);

if(fclose(fp1)){

不能关闭文件!

\n创建音像图书《%s》成功!

\n输入任意键继续!

op=getchar();

}

打开名为Library.txt的文件,将音像图书的编号、名称、原价、原数量和剩余数量写入文件中,然后关闭文件。

(2)租借音像图书

voidborrow_book()

structlibrarya={0},b[Max]={0},*p1=NULL,*p2=NULL;

//b为结构数组

structborrowerc={0};

charch[10]={0},op;

intn=0,m=0;

FILE*fp1;

FILE*fp2;

if((fp1=fopen("

\\borrow.txt"

))==NULL){

文件打开错误!

if((fp2=fopen("

r"

请输入您的姓名:

"

c.uname);

请输入租借的书的编号:

c.bianhao);

请输入租借的日期(年/月/日):

%d%c%d%c%d"

c.borrow.year,&

c.borrow.ch1,&

c.borrow.month,&

c.borrow.ch2,&

c.borrow.day);

strcpy(ch,c.bianhao);

%s\t%s\t%d%c%d%c%d"

c.uname,c.bianhao,c.borrow.year,c.borrow.ch1,c.borrow.month,c.borrow.ch2,c.borrow.day);

p1=b;

while(feof(fp2)==0)

fscanf(fp2,"

%s%s%d%d%d"

p1->

bianhao,p1->

name,&

p1->

price,&

amount,&

shengyu);

p1++;

n++;

for(p1=b;

p1<

b+n;

p1++)

if(strcmp(c.bianhao,p1->

bianhao)==0)

{

p2=p1;

m=1;

break;

}

if(m==0)

无此音像图书!

输入任意键继续!

else

if((strcmp(ch,p2->

bianhao)==0)&

(p2->

shengyu==0))

\n此音像图书已全部借出!

shengyu!

=0))

应交的押金额为%d元!

(p2->

price)*3);

c.money=(p2->

price)*3;

p2->

shengyu=p2->

shengyu-1;

fprintf(fp1,"

%d\n"

c.money);

fclose(fp1);

fclose(fp2);

\n输入任意键继续!

w"

fprintf(fp2,"

name,p1->

price,p1->

amount,p1->

打开borrow.txt和Library.txt文件,将租借者的姓名、租借的书的编号和租借日期写入borrow.txt文件中,计算并显示应交押金,同时把押金写入borrow.txt文件该租借者的信息中,并且Library.txt文件中相应音像图书数量减少。

然后关闭文件。

(3)归还音像图书

voidback_book()

structborrowerc={0},d[Max]={0},*p3=NULL,*p4=NULL;

charch[10]={0},ch1[100],op;

intday,n1=0,n2=0,m=0,rent,money_1;

intx,i;

intmonth_day[2][13]={

{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}

};

请输入您的名字:

请输入归还的书的编号:

请输入归还的日期(年/月/日):

c.back.year,&

c.back.ch1,&

c.back.month,&

c.back.ch2,&

c.back.day);

strcpy(ch1,c.uname);

//在文件中寻找被借的书

p3=d;

while(feof(fp1)==0)

fscanf(fp1,"

n1++;

%s%s%d%c%d%c%d%d"

p3->

uname,p3->

bianhao,&

p3->

borrow.year,&

borrow.ch1,&

borrow.month,&

borrow.ch2,&

borrow.day,&

money);

p3++;

n2++;

b+n1;

if(strcmp(ch,p1->

break;

for(p3=d;

p3<

d+n2;

p3++)

if(strcmp(ch,p3->

bianhao)==0&

strcmp(ch1,p3->

uname)==0)

p4=p3;

//当输入的姓名或者借书的编号错误时

您没有借书记录!

输入y重新填写资料,输入n返回上一菜单!

%c"

op);

if(op=='

y'

back_book();

n'

system("

cls"

main();

\n此音像图书名为《%s》\n"

p2->

name);

文件打开错误!

p2->

shengyu=p2->

shengyu+1;

bianhao,p1->

price,p1->

amount,p1->

shengyu);

//计算租借的总天数

x=(p4->

borrow.year%4==0&

p4->

borrow.year%100!

=0||p4->

borrow.year%400==0);

if(p4->

borrow.year==c.back.year)

if(p4->

borrow.month==c.back.month)

day=c.back.day-p4->

borrow.day;

else

day=month_day[x][p4->

borrow.month]-p4->

for(i=p4->

borrow.month+1;

i<

c.back.month;

i++)

day=day+month_day[x][i];

day=day+c.back.day;

一共租借了%d天!

day);

if(ch[0]=='

rent=day;

rent=day*2;

rent=day*3;

if(rent>

=p3->

money)

money_1=0;

if(rent<

money_1=p3->

money-rent;

已交押金%d元,应交租金%d元,应退金额%d元\n"

p4->

money,rent,money_1);

//删除租借者的信息

n1=0;

}

d+n1;

if(strcmp(ch1,p3->

))==NULL)

exit(0);

d+n1-1;

{

if(strcmp(p4->

uname,p3->

continue;

%s%s%d%c%d%c%d%d"

bianhao,p3->

borrow.year,p3->

borrow.ch1,p3->

borrow.month,p3->

borrow.ch2,p3->

borrow.day,p3->

成功删除%s的信息!

uname);

按任意键结束!

打开borrow.txt和Library.txt文件,输入归还者的姓名、归还的书的编号和归还日期,计算租借天数,显示已交押金、应交租金、应退金额;

将borrow.txt中相应租借者的信息删除,Library.txt中相应音像图书的数量增加。

(4)购进音像图书

voidbuy_book()

charch[10]={0},ch1[100]={0},op;

intn=0,m=1,number;

请输入购进音像图书的编号:

if(strcmp(a.bianhao,p1->

strcpy(ch1,p1->

name);

m=0;

if(m)

if((fp1=fopen("

请输入要购进音像图书的名称:

请输入要购进音像图书的原价:

请输入要购进音像图书的数量:

购进音像图书《%s》成功!

a.name);

a.shengyu=a.amount;

fclose(fp1);

else

此书已存在!

请输入要购进图书的数量:

number);

ch1);

amount=p2->

amount+number;

shengyu+number;

for(p1=b;

打开Library.txt文件,写入购进音像图书的编号,若音像图书已存在,则只输入购进数量;

并在文件中添加原有音像图书的数量,若不存在,则输入新音像图书的名称、原价及数量,并添加到文件中,然后关闭文件。

(5)报废音像图书

voidscrap_book()

intn=0,m=1;

请输入要报废的书的编号:

a.bianhao);

m=0;

本音像图书库不存在此书!

if(p1->

amount!

=p1->

shengyu)

《%s》已被借出,不能报废!

amount==p1->

if((fp1=fope

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1