图书管理系统的制作.docx
《图书管理系统的制作.docx》由会员分享,可在线阅读,更多相关《图书管理系统的制作.docx(13页珍藏版)》请在冰豆网上搜索。
![图书管理系统的制作.docx](https://file1.bdocx.com/fileroot1/2023-1/31/63a5c3ff-912c-459b-ac41-9e4f110d42e0/63a5c3ff-912c-459b-ac41-9e4f110d42e01.gif)
图书管理系统的制作
#include
#include
#include
typedefstruct
{
charid[10];
charname[15];
chardaihao[10];
charzz[10];
intsj;
floatdj;
intkc;
intjc;
intzs;
}BOOK;
BOOKs[10];
BOOKall[10];
BOOKd[10];
intlength=0;
intk=0;
charfname[10];
intmenu();
intinput();
intdisplay();
intdelete1();
intdeletef(intlocal);
intsearch();
intmodify();
intmodifyf(inti);
inthome();
intshowsingle(int);
intadd();
intrecovery();
intcount();
intsave();
intopen();
intmain()
{inti;
home();
while
(1)
{
system("cls");
i=menu();
if(i==0){printf("\n请按任意键退出\n");return1;}
if(i==1){input();system("cls");}
if(i==2){display();system("cls");}
if(i==3){modify();system("cls");}
if(i==4){search();system("cls");}
if(i==5){delete1();system("cls");}
if(i==6){recovery();system("cls");}
if(i==7){add();system("cls");}
if(i==8){count();system("cls");}
if(i==9){save();system("cls");}
if(i==10){open();system("cls");}
}
return1;
}
inthome()
{system("cls");
printf("\n\n\n\n\n\n\n");
printf("****************************************************************\n");
printf("*中南大学图书管理系统*\n");
printf("**\n");
printf("**\n");
printf("*信息科学与工程学院*\n");
printf("**\n");
printf("**\n");
printf("*电气1029班0909102917张鑫*\n");
printf("**\n");
printf("****************************************************************\n");
printf("请按Enter键进入\n");
printf("\n");
while(getchar()!
='\n');
return1;
}
intmenu()
{
intflag=0;
printf("中南大学图书管理系统\n");
printf("………………………………………………………………………………………………\n");
printf("1输入记录2显示记录\n");
printf("\n");
printf("3修改记录4查找记录\n");
printf("\n");
printf("5删除记录6恢复记录\n");
printf("\n");
printf("7添加记录8统计\n");
printf("\n");
printf("9保存数据文件10打开数据文件\n");
printf("\n");
printf("0退出\n");
printf("………………………………………………………………………………………………\n");
printf("请选择相应的数字:
\n");
printf(":
");
scanf("%d",&flag);
returnflag;
}
intinput()
{
intnum,i;
printf("\n请输入你想创建的记录个数:
");
scanf("%d",&num);
printf("\n");
for(i=0;i{
printf("ID号:
");
scanf("%s",&s[length].id);
printf("代号:
");
scanf("%s",&s[length].daihao);
printf("书名:
");
scanf("%s",&s[length].name);
printf("作者:
");
scanf("%s",&s[length].zz);
printf("时间:
");
scanf("%d",&s[length].sj);
printf("单价:
");
scanf("%f",&s[length].dj);
printf("库存:
");
scanf("%d",&s[length].kc);
printf("借出:
");
scanf("%d",&s[length].jc);
++length;
}
system("pause");
return1;
}
intshowsingle(inti)
{
printf("ID号代号书名作者时间单价库存借出总数\n");
s[i].zs=s[i].kc+s[i].jc;
printf("%4s%6s%8s%9s%10d%9.1f%9d%10d%4d\n",s[i].id,s[i].daihao,s[i].name,s[i].zz,s[i].sj,s[i].dj,s[i].kc,s[i].jc,s[i].zs);
return1;
}
intdisplay()
{
inti;
printf("\nID号代号书名作者时间单价库存借出总数\n");
for(i=0;i{
s[i].zs=s[i].kc+s[i].jc;
printf("%4s%6s%8s%9s%10d%9.1f%9d%10d%d\n",s[i].id,s[i].daihao,s[i].name,s[i].zz,s[i].sj,s[i].dj,s[i].kc,s[i].jc,s[i].zs);
}
system("pause");
return1;
}
intmodify()
{
charname[30];
inti,n;
printf("输入要修改书名:
");
scanf("%s",name);
printf("\n");
for(i=0;i{
if(strcmp(s[i].name,name)==0)
n=modifyf(i);
}
printf("\n");
if(n!
=1)printf("对不起,该书不存在\n\n");
system("pause");
return1;
}
intmodifyf(inti)
{
showsingle(i);
printf("\n请输入修改后的数据:
\n\n");
printf("代号:
");
scanf("%s",&s[i].daihao);
printf("书名:
");
scanf("%s",&s[i].name);
printf("作者:
");
scanf("%s",&s[i].zz);
printf("时间:
");
scanf("%d",&s[i].sj);
printf("单价:
");
scanf("%f",&s[i].dj);
printf("库存");
scanf("%d",&s[i].kc);
printf("借出:
");
scanf("%d",&s[i].jc);
printf("\n");
printf("修改结果如下:
\n\n");
showsingle(i);
return1;
}
intsearch()
{
charname[30];
inti,n;
printf("请输入要查询的书的名字:
");
scanf("%s",name);
printf("\n");
for(i=0;i{
if(strcmp(s[i].name,name)==0)
n=showsingle(i);
}
printf("\n");
if(n!
=1)printf("对不起,该书不存在\n\n");
system("pause");
return1;
}
intdelete1()
{
charname[30];
inti,n;
printf("请输入要删除的书的名字:
");
scanf("%s",name);
for(i=0;i{
if(strcmp(s[i].name,name)==0)
n=deletef(i);
}
printf("\n");
if(n!
=1){printf("对不起,该书不存在\n\n");system("pause");}
return1;
}
intdeletef(intlocal)
{
inti;
d[k]=s[local];
k++;
for(i=local;i{
strcpy(s[i].id,s[i+1].id);
strcpy(s[i].daihao,s[i+1].daihao);
strcpy(s[i].name,s[i+1].name);
strcpy(s[i].zz,s[i+1].zz);
s[i].sj=s[i+1].sj;
s[i].dj=s[i+1].dj;
s[i].kc=s[i+1].kc;
s[i].jc=s[i+1].jc;
}
length--;
printf("\n删除成功\n");
printf("\n删除结果如下:
\n");
display();
return1;
}
intadd()
{
printf("ID号:
");
scanf("%s",&s[length].id);
printf("书名:
");
scanf("%s",&s[length].name);
printf("作者:
");
scanf("%s",&s[length].zz);
printf("时间:
");
scanf("%d",&s[length].sj);
printf("单价:
");
scanf("%f",&s[length].dj);
printf("库存:
");
scanf("%d",&s[length].kc);
printf("借出");
scanf("%d",&s[length].jc);
printf("\n");
++length;
printf("\n添加后结果如下:
\n");
display();
return1;
}
intsave()
{
FILE*fout;
printf("\n请为您保存的文件命名:
");
scanf("%s",fname);
fout=fopen(fname,"wb");
fwrite(s,sizeof(BOOK),length,fout);
fclose(fout);
printf("\n保存成功\n\n");
system("pause");
return1;
}
intopen()
{
FILE*fout;
charfname2[10];
inti,n,j;
printf("\n请输入您想打开的文件名:
");
scanf("%s",fname2);
if((fout=fopen(fname2,"rb"))!
=NULL)
{
if(length==0)
{
for(j=0;j<10;j++)
{
fread(&all[j],sizeof(BOOK),1,fout);
if(all[j].dj!
=0)length++;
}
fclose(fout);
n=1;
}
else
{
fread(all,sizeof(BOOK),length,fout);
fclose(fout);
n=1;
}
}
else
{
printf("\n您输入的文件名不存在\n\n");
system("pause");
}
if(n==1)
{
for(i=0;i<10;i++)s[i]=all[i];
display();
}
return1;
}
intcount()
{
inti;
floatsum1=0;
intsum2=0,sum3=0,sum4=0;
for(i=0;i{
sum1+=s[i].dj;
sum2+=s[i].kc;
sum3+=s[i].jc;
sum4+=s[i].zs;
}
printf("\n");
printf("总金额为%.1f",sum1);
printf("总库存为%d\n\n",sum2);
printf("总借出书数量为%d",sum3);
printf("总数量为%d\n\n",sum4);
system("pause");
return1;
}
intrecovery()
{
charname[30];
inti,n;
printf("\n请输入要恢复的书的名字:
");
scanf("%s",name);
for(i=0;i{
if(strcmp(d[i].name,name)==0)
{
s[length]=d[i];
length++;
n=1;
printf("\n恢复成功\n");
printf("\n恢复后结果如下:
\n");
display();
}
}
printf("\n");
if(n!
=1){printf("对不起,该书本不存在\n\n");system("pause");}
return1;
}