C语言实现的图书管理系统.docx
《C语言实现的图书管理系统.docx》由会员分享,可在线阅读,更多相关《C语言实现的图书管理系统.docx(7页珍藏版)》请在冰豆网上搜索。
C语言实现的图书管理系统
内蒙古工业大学信息工程学院
报告类型:
实验报告报告成绩:
________
指导教师审核(签名):
__________________年月日
#include
#include
intcount=0;
structDate
{
intyear;
intmouth;
intday;
}
structLibrary
{
charname[20];
charisbn[10];
charanthor[20];
charadd[20];
structDatetime;
intprice;
}
intmain()
{
voidmenu(structLibrarylib[count]);
voidinsert(structLibrarylib[count]);
intquery(structLibrarylib[count]);
intupdate(structLibrarylib[count]);
intdele(structLibrarylib[count]);
voidlist(structLibrarylib[count]);
voidload(structLibrarylib[count]);
voidsave(structLibrarylib[count]);
intn;
structLibrarylib[count];
printf("\n图书管理系统//作者V1版权所有.\n");
while
(1)
{
menu(structLibrarylib[count]);
printf("请输入您的选择:
");
scanf("%d",&n);
switch(n)
{
case1:
insert(structLibrarylib[count]);break;
case2:
query(structLibrarylib[count]);break;
case3:
update(structLibrarylib[count]);break;
case4:
dele(structLibrarylib[count]);break;
case5:
list(structLibrarylib[count]);break;
case6:
load(structLibrarylib[count]);break;
case7:
save(structLibrarylib[count]);break;
case0:
return0;
default:
printf("输入错误!
请重新输入。
\n");
}
}
return0;
}
voidmenu(structLibrarylib[count])
{
printf("1、录入图书信息\n");
printf("2、查询图书信息\n");
printf("3、修改图书信息\n");
printf("4、删除图书信息\n");
printf("5、列出图书信息\n");
printf("6、加载图书信息\n");
printf("7、保存图书信息\n");
printf("0、退出图书信息系统\n");
}
voidinsert(structLibrarylib[count])
{
printf("请录入图书名称,图书ISBN号,作者,出版社,出版时间,价格:
\n");
scanf("%s%s%s%s%d%d%d%d",lib[count].name,lib[count].isbn,lib[count].anthor,lib[count].add,&lib[count].Date.time.year,&lib[count].Date.time.mouth,&lib[cout]Date.time.day,&lib[count].price);
printf("图书名称\t图书ISBN号\t作者\t出版社\t出版时间\t价格\n");
printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\n",lib[count].name,lib[count].isbn,lib[count].anthor,lib[count].add,lib[count].Date.time.year,lib[count].Date.time.mouth,lib[count].Date.time.day,lib[count].price");
count++;
}
intquery(structLibrarylib[count])
{
inti;
chara[20];
printf("请输入要查询的图书名称:
");
scanf("%s",a);
for(i=0;i{
if(strcmp(a,lib[i].name)==0)
{
printf("您所查询的图书信息为:
");
printf("图书名称\t图书ISBN号\t作者\t出版社\t出版时间\t价格\n");
printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\n",lib[count].name,lib[count].isbn,lib[count].anthor,lib[count].add,lib[count].Date.time.year,lib[count].Date.time.mouth,lib[count].Date.time.day,lib[count].price");
return0;
}
}
printf("对不起,没有该书!
\n");
return1;
}
intupdate(structLibrarylib[count])
{
inti;
chara[20];
printf("请输入要修改的图书的名称:
");
scanf("%s",a);
for(i=0;i{
if(strcmp(a,lib[i].name)==0)
{
printf(请输入修改后的图书信息:
");
scanf("%s%s%s%s%d%d%d%d",lib[i].name,lib[i].isbn,lib[i].anthor,lib[i].add,&lib[i].Date.time.year,&lib[i].Date.time.mouth,&lib[i].Date.time.day,&lib[i].price);
printf("修改成功!
\n");
return0;
}
}
printf("对不起,没有该书!
\n");
return1;
}
intdele(structLibrarylib[count])
{
inti;
chara[20];
printf("请输入要删除的图书名称:
");
scanf("%s",a);
for(i=0;i{
if(strcmp(a,lib[i].name)==0)
{
if(i==count-1)
count--;
else
{
strcpy(lib[i].name,lib[i+1].name);
count--;
}
printf("删除图书成功!
\n");
return0;
}
}
printf("对不起,没有该书!
\n");
return1;
}
voidlist(structLibrarylib[count])
{
inti;
printf("现在共有%d本书\n",count);
printf("图书详细列表如下:
\n");
for(i=0;i{
printf("图书名称\t图书ISBN号\t作者\t出版社\t出版时间\t价格\n");
printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\n",lib[count].name,lib[count].isbn,lib[count].anthor,lib[count].add,lib[count].Date.time.year,lib[count].Date.time.mouth,lib[count].Date.time.day,lib[count].price");
}
}
voidload(structLibrarylib[count])
{
FILE*fp;
inti;
if((fp=fopen("lib.dat","rb"))==NULL)
{
printf("cannotopenfile\n");
return0;
}
for(i=0;ifread(&lib[i],sizeof(structLibrary),1,fp);
printf("图书名称\t图书ISBN号\t作者\t出版社\t出版时间\t价格\n");
printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\n",lib[count].name,lib[count].isbn,lib[count].anthor,lib[count].add,lib[count].Date.time.year,lib[count].Date.time.mouth,lib[count].Date.time.day,lib[count].price");
fclose(fp);
}
voidsave(structLibrarylib[count])
{
FILE*fp;
inti;
if((fp=fopen("lib.dat","wb"))==NULL)
{
printf("cannotopenfile\n");
return;
}
for(i=0;iif(fwrite(&lib[i],sizeof(structLibrary),1,fp)!
=1)
printf("filewriteerror\n");
fclose(fp);
}