图书管理系统软件CWord文件下载.docx
《图书管理系统软件CWord文件下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统软件CWord文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
intamount;
/*图书数量*/
}book[MAX];
/*存放MAX个图书信息记录的结构体数组*/
/*录入模块*/
voidinput()
{
inti=0,s=MAX;
charchoice;
printf("
\n\n****录入图书信息****(最多%d种)\n"
s);
*******************************\n"
);
do
{printf("
\n第%d种图书"
i+1);
\n输入图书编号:
"
scanf("
%d"
&
book[i].num);
if(book[i].num==0)break;
\n输入图书名称:
%s"
book[i].name);
\n输入图书作者:
book[i].writer);
printf("
\n输入图书类型:
scanf("
book[i].type);
\n输入出版社:
book[i].publish);
\n出版时间(yyyy-mm-dd):
%d-%d-%d"
book[i].publish_time.year,&
book[i].publish_time.month,&
book[i].publish_time.day);
\n输入图书总量:
book[i].amount);
i++;
\n要继续输入吗?
(Y/N):
choice=getch();
if(choice=='
N'
||choice=='
n'
)break;
}while(i<
MAX);
\n****%d种图书信息输入完毕!
****\n"
i);
sum=i;
\n按任意键返回主菜单!
}
/*保存模块*/
voidsave()
{
FILE*fp;
inti=0;
charfilename[10];
\n输入要保存的文件名称:
filename);
/*交互式文件方法*/
if((fp=fopen(filename,"
wb"
))==NULL)
{
\n\n****写文件错误!
****\n\n"
}
if(fwrite(&
book[i],sizeof(book[MAX]),1,fp)!
=1)
****写文件错误!
fclose(fp);
/*读取模块*/
voidread()
r"
\n\n****读文件错误!
while(!
feof(fp))
fread(&
book[i],sizeof(book[MAX]),1,fp);
if(book[i].num==0)
break;
else
/*输出模块*/
voidoutput()
inti=0,j=0,page=1;
system("
cls"
/*清屏*/
\n\n****图书信息表****第%d页\n\n"
page);
PRINT2;
PRINT1;
{
if(book[i].num!
=0)
{j++;
if(j%PAGE!
{PRINT3;
if(book[i+1].num!
按任意键继续!
++page);
i++;
while(book[i].num!
=0);
\n"
按任意键返回主菜单!
/*****更新图书信息模块*****/
/*删除模块*/
voiddel()
inti,j,del_num,b=0;
read();
输出要删除的图书编号:
del_num);
for(i=0;
i<
sum;
i++)
if(book[i].num==del_num&
&
book[i].num!
{for(j=i;
j<
j++)
{book[j]=book[j+1];
sum--;
}
elseb++;
{PRINT3;
if(sum==b)
该图书不存在"
按任意键返回"
/*添加模块*/
voidappend()
inti,flag=0;
i=sum;
\n\n添加一种新图书\n"
\n新图书编号:
\n图书名称:
\n作者名称:
\n图书类型:
\n出版社名称:
\n图书数量:
\n要继续添加吗?
(Y/N)"
Y'
y'
\n继续!
flag=1;
/*继续添加的标志*/
elseflag=0;
}while(flag==1);
/*修改模块*/
voidmodify()
inti=0,choice,modify_num,flag;
\n输出要修改的图书编号:
modify_num);
if(book[i].num==modify_num)
\n**************图书信息**************\n\n"
PRINT1;
PRINT3;
\n您要修改哪一项?
\n1.图书名称\n"
\n2.图书作者\n"
printf("
\n3.图书类型\n"
\n4.图书出版社\n"
\n5.图书出版时间\n"
\n6.图书数量\n"
\n请选择(1-6):
choice);
switch(choice)
case1:
\n输入修改后的书名:
break;
case2:
\n输入修改后的作者名:
case3:
\n输入修改后的图书类型:
scanf("
case4:
\n输入修改后的出版社:
case5:
\n输入修改后的出版时间:
case6:
\n输入修改后的图书数量:
break;
if(i==sum)
\n该图书不存在!
\n\n要继续修改吗?
/*继续添加的标志*/
flag=0;
/*更新模块*/
voidrenew()
intchoice;
\n\n\n*****更新图书信息*****\n\n"
1.删除图书信息\n\n"
2.添加图书信息\n\n"
3.修改图书信息\n\n"
0.返回主菜单\n\n"
请选择(0-3):
del();
append();
modify();
case0:
}while(choice!
/******查询模块******/
/*按图书编号查询*/
voidinquire_num()
{intinquire_num,i,j=0;
\n**********输入要查询的书的编号:
inquire_num);
if(book[i].num==inquire_num)
{
j++;
if(j==sum)
/*按图书名称查询*/
voidinquire_name()
{inti,j=0;
charinquire_name[20];
\n**********输入要查询的图书名称:
inquire_name);
if(strcmp(book[i].name,inquire_name)==0&
\n**************图书信息**************\n"
/*按图书类型查询*/
voidinquire_type()
{read();
inti,j=0;
charinquire_type[15];
\n**********输入要查询的图书类型:
inquire_type);
\n*****图书信息*****\n"
if(strcmp(book[i].type,inquire_type)==0&
/*查询模块*/
voidinquire()
\n\n\n********查询图书信息********\n\n"
1.按图书编号查询\n\n"
2.按图书名称查询\n\n"
3.按图书类型查询\n\n"
0.返回主菜单\n\n"
{case1:
inquire_num();
inquire_name();
case3:
inquire_type();
/******排序模块******/
/*按图书编号排序*/
voidsort_num()
inti,j;
structBOOKt;
sum-1;
i++)/*选择排序法*/
for(j=i+1;
if(book[i].num>
book[j].num)
{t=book[i];
book[i]=book[j];
book[j]=t;
*****排序结果为*****"
output();
/*按图书名称排序*/
voidsort_name()
if(strcmp(book[i].name,book[j].name)>
0)
t=book[i];
*****排序结果为*****\n"
/*按图书类型排序*/
voidsort_type()
if(strcmp(book[i].type,book[j].type)>
/*排序模块*/
voidsort()
{intchoice;
\n\n**********排序信息*********\n\n"
1.按图书编号排序\n\n"
2.按图书名称排序\n\n"
3.按图书类型排序\n\n"
sort_num();
sort_name();
sort_type();
/******统计模块******/
/*按图书名称统计数量*/
voidcount_name()
{inti,count=0,j=0;
charcount_name[20];
输入图书名称:
count_name);
{if(strcmp(book[i].name,count_name)==0)
{count+=book[i].amount;
elsej++;
\n******错误无此名称的图书!
\n按任意键退出!
if(j!
=sum)
\n\n*************图书总量为%4d\n"
count);
/*按图书类型统计数量*/
voidcount_type()
charcount_type[20];
输入图书类型:
count_type);
{if(strcmp(book[i].type,count_type)==0)
count+=book[i].amount;
}
\n******错误!
无此类型的图书!
\n\n图书总量为%4d\n"
/*按图书出版社统计数量*/
voidcount_publish()
charcount_publish[20];
请输入出版社名称:
"
count_publish);
{if(strcmp(book[i].publish,count_publish)==0)
\n错误!
无此出版社信息"
\n\n***************图书总量为%4d"
/*统计模块*/
voidcount()
\n\n\n******