#includestdio.h
#includestring.h
#includestdlib.h
#defineN10
structlibrary
{
intnum;
charbook_name[30];
charwriter[30];
charsort_num[3];
charpub_company[30];
charpub_time[30];
charprise[30];
};
typedefstructlibraryLIB;
LIBlib[N];
FILE*fp;
intall=0;
intmenu(void);
voidinput(void);
voidoutput(void);
voidsave(void);
voiddel(void);
voidsearch(void);
voidxiugai(void);
voidsort(void);
intmain()
{
for(;;)
{
switch(menu())
{
case1:input();break;
case2:output();break;
case3:save();break;
case4:search();break;
case5:xiugai();break;
case6:del();break;
case7:sort();break;
case0:exit(1);break;
}
}
}
intmenu(void)/*显示主菜单*/
{
charm[3];
intn;
printf(\"\\t\\t1:input\\n\");
printf(\"\\t\\t2:output\\n\");
printf(\"\\t\\t3:save\\n\");
printf(\"\\t\\t4:search\\n\");
printf(\"\\t\\t5:xiugai\\n\");
printf(\"\\t\\t6:del\\n\");
printf(\"\\t\\t7:sort\\n\");
printf(\"\\t\\t0:exit\\n\");
printf(\"\\t\\tpleasechooseaoperation(0-6):\\n\");
scanf(\"%s\",m);
n=atoi(m);
return(n);
}
voidinput(void)/*显示输入函数*/
{
inti;
charm[3];
for(i=all;iN;i)
{
all;
printf(\"pleaseinputinformations:\\n\");
printf(\"\\t\\tnum:\\n\");
scanf(\"%d\",
printf(\"\\t\\tbook_name:\\n\");
scanf(\"%s\",lib.book_name);
printf(\"\\t\\twriter:\\n\");
scanf(\"%s\",lib.writer);
printf(\"\\t\\tsort_num:\\n\");
scanf(\"%s\",lib.sort_num);
printf(\"\\t\\tpub_company:\\n\");
scanf(\"%s\",lib.pub_company);
printf(\"\\t\\tpub_time:\\n\");
scanf(\"%s\",lib.pub_time);
printf(\"\\t\\tprise:\\n\");
scanf(\"%s\",lib.prise);
a:printf(\"\\t\\tyes/nocontinueinput?\\n\");
printf(\"\\t\\t1:yes\\n\");
printf(\"\\t\\t2:no\\n\");
scanf(\"%s\",m);
if(atoi(m)==1)
continue;
elseif(atoi(m)==2)
return;
else
{
printf(\"\\t\\tinputerror!\\n\");
gotoa;
}
}
}
voidoutput(void)/*显示输出函数*/
{
inti;
for(i=0;iall;i)
{
printf(\"\\t\\t%d\\n\",lib.num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.book_name,lib.writer,lib.sort_num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.pub_company,lib.pub_time,lib.prise);
}
}
voidsort(void)/*从登陆号从大到小排序的函数*/
{
intb,i;
structlibraryflash;
if((fp=fopen(\"file.c\",\"wb\"))==NULL)
{printf(\"cannotopenfile\\n\");
return;
}
for(b=0;bN;b)
{
for(i=b1;iN;i)
{
if(strcmp(lib.sort_num,lib.sort_num)0)
{flash=lib;lib=lib;lib=flash;}
}
}
printf(\"thedownobjectis:\\n\");
printf(\"numbook\'namewritersort_numpub_companypub_timeprise\\n\");
for(b=0;bN;b)
{
if(lib.sort_num[0]!=\'\\0\')
printf(\"%d%s%s%s%s%s%s\\n\",lib.num,lib.book_name,lib.writer,
lib.sort_num,lib.pub_company,lib.pub_time,lib.prise);
elsebreak;
}
}
voidsave(void)/*文件保存*/
{
inti;
if((fp=fopen(\"file.c\",\"wb\"))==NULL)
{
printf(\"cannotopenthefile\");
exit(1);
}
for(i=0;iall;i)
{
if(fwrite(
exit(1);
}
}
fclose(fp);
}
voidsearch(void)/*书名和作者名查找*/
{
inti,flag;
charm[3];
charname[30];
printf(\"\\t\\t请选择按书名或作者名查询:\\n\");
printf(\"\\t\\t1:书名\\n\");
printf(\"\\t\\t2:作者名\\n\");
scanf(\"%s\",m);
i=atoi(m);
switch(i)
{
case1:{
printf(\"\\t\\tpleaseinputthebook_name:\\n\");
scanf(\"%s\",name);
flag=0;
for(i=0;iN;i)
{
if(strcmp(name,lib.book_name)==0)
{
printf(\"\\t\\t%d\\n\",lib.num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.book_name,lib.writer,lib.sort_num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.pub_company,lib.pub_time,lib.prise);
flag=1;break;
}
}
if(flag==0)
printf(\"\\t\\tnotfindthebook!\\n\");
break;}case2:{
printf(\"\\t\\tpleaseinputthewriter:\\n\");
scanf(\"%s\",name);
flag=0;
for(i=0;iN;i)
{
if(strcmp(name,lib.writer)==0)
{
printf(\"\\t\\t%d\\n\",lib.num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.book_name,lib.writer,lib.sort_num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.pub_company,lib.pub_time,lib.prise);
flag=1;break;
}
}
if(flag==0)
printf(\"\\t\\tnotfindthewtiter!\\n\");
break;}
}
}
voidxiugai(void)/*显示修改函数*/
{
inti,flag;
charname[30],n[3];
printf(\"\\t\\tpleaseinputthebook_nameofqc:\\n\");
scanf(\"%s\",name);
flag=0;
for(i=0;iN;i)
{
if(strcmp(name,lib.book_name)==0)
{
printf(\"\\t\\t%d\\n\",lib.num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.book_name,lib.writer,lib.sort_num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.pub_company,lib.pub_time,lib.prise);
printf(\"\\t\\tpleaseinputxiugai\'stheinformations:\\n\");
printf(\"\\t\\tnum:\\n\");
scanf(\"%d\",
printf(\"\\t\\tbook_name:\\n\");
scanf(\"%s\",lib.book_name);
printf(\"\\t\\twriter:\\n\");
scanf(\"%s\",lib.writer);
printf(\"\\t\\tsort_num:\\n\");
scanf(\"%s\",lib.sort_num);
printf(\"\\t\\tpub_company:\\n\");
scanf(\"%s\",lib.pub_company);
printf(\"\\t\\tpub_time:\\n\");
scanf(\"%s\",lib.pub_time);
printf(\"\\t\\tprise:\\n\");
scanf(\"%s\",lib.prise);
flag=1;break;
}
}
if(flag==0)
printf(\"\\t\\tnotfindxiugai\'sthebook!\\n\");
}
voiddel(void)/*显示删除函数*/
{
inti,flag,n;
charname[30];
printf(\"\\t\\tpleaseinputthebook_nameofdel:\\n\");
scanf(\"%s\",name);
flag=0;
for(i=0;iN;i)
{
if(strcmp(name,lib.book_name)==0)
{
printf(\"\\t\\t%d\\n\",lib.num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.book_name,lib.writer,lib.sort_num);
printf(\"%s\\t\\t%s\\t\\t%s\\n\",lib.pub_company,lib.pub_time,lib.prise);
lib.num=lib[n-1].num;//n未初始化,
strcpy(lib.book_name,lib[n-1].book_name);
strcpy(lib.writer,lib[n-1].writer);
strcpy(lib.sort_num,lib[n-1].sort_num);
strcpy(lib.pub_company,lib[n-1].pub_company);
strcpy(lib.pub_time,lib[n-1].pub_time);
strcpy(lib.prise,lib[n-1].prise);
n=n-1;
flag=1;
printf(\"\\t\\tdelok!\\n\");
break;
}
}
if(flag==0)
printf(\"\\t\\tnoinformationofthebook!\\n\");
} |