芬迪健身
# include & ltstring.h & gt
# include & ltstdlib.h & gt
#定义编号10
结构库{
int num
char book _ name[30];
字符写入器[30];
char sort _ num[3];
char pub _ company[30];
char pub _ time[30];
char price[30];
};
typedef结构库LIB/*结构的定义是用来存放书籍和借书的*/
LIB LIB[N];
FILE * fpint all = 0;
int菜单(void);
void输入(void);
void输出(void);
void save(作废);
void del(无效);
void搜索(void);
作废修改(void);
主()
{
for(;;)
{
开关(菜单()){
案例1:input();打破;
案例二:output();打破;
案例三:save();打破;
案例四:搜索();打破;
案例五:修改();打破;
案例6:del();打破;
案例7:sort();打破;
案例0:出口(1);打破;
}/*开关定义函数输出*/
}
}
int菜单(无效)
{
char m[3];
int n;printf(" * * * * * * * * * * * * * * * * * * * * * *欢迎* * * * * * * * * * * * * * * * \ n \ n \ n ");
printf(" \ t \ t-图书信息管理系统-\ n ");
printf(" \ t \ t 1:input \ n ");
printf(" \ t \ T2:output \ n ");
printf(" \ t \ T3:save \ n ");
printf(" \ t \ T4:find \ n ");
printf(" \ t \ t5:modify \ n ");
printf(" \ t \ T6:delete \ n ");
printf(" \ t \ T7:statistics \ n ");
printf(" \ t \ t0:exit \ n ");
printf(" \ t \ t请选择一个操作(0-6):\ n ");
scanf("%s ",m);
n = atoi(m);
返回(n);
}/*主界面*/
无效输入(无效)
{
int I;
char m[3];
for(I = all;我& ltn;i++)
{
all++;
Printf("请输入信息:\ n ");
printf(" \ t \ t否。:\ n ");
scanf("%d ",& amplib[i]。num);
printf(" \ t \ t title:\ n ");
scanf("%s ",lib[i].book _ name);
printf(" \ t \ t author:\ n ");
scanf("%s ",lib[i].作家);
printf(" \ t \ t sort _ num:\ n ");
scanf("%s ",lib[i].排序_编号);
printf(" \ t \ tPublisher:\ n ");
scanf("%s ",lib[i].pub _ company);
printf(" \ t \ t发布日期:\ n ");
scanf("%s ",lib[i].pub _ time);
printf(" \ t \ t price:\ n ");
scanf("%s ",lib[i].prise);
答:printf("\t\tyes/ oh?\ n ");
printf(" \ t \ t 1:yes \ n ");
printf(" \ t \ T2:no \ n ");
scanf("%s ",m);
if(atoi(m)==1)
继续;
else if(atoi(m)==2)
返回;
其他
{
Printf ("\ t \ tError!\ n ");
转到a;
}/*输入条件搜索*/
}
}
无效输出(无效)
{
int I;
for(I = 0;我& lt所有;i++)
{
printf("\t\t%d\n ",lib[i]。num);
printf("%s\t\t%s\t\t%s\n ",lib[i]。book_name,lib[i]。作家,lib[i]。排序_编号);
printf("%s\t\t%s\t\t%s\n ",lib[i]。pub_company,lib[i]。pub_time,lib[i]。prise);
}
}/*输出书名、作者、出版时间、价格等。*/
无效保存(无效)
{
int I;
if((fp=fopen("file.c "," wb"))==NULL)
{
printf("打不开文件");
退出(1);
}
for(I = 0;我& lt所有;i++)
{
if(fwrite(& amp;lib[i],sizeof(LIB),1,fp)!=1)
{
printf("不会写!");
退出(1);
}
}/*不满足条件时拒绝存储*/
fclose(FP);
}
无效搜索(void)
{
int i,flag
char m[3];
char name[30];
printf(" \ t \ t请选择您的存储方法:\ n ");
Printf("\t\t1:按标题!\ n ");
Printf("\t\t2:按作者!\ n ");
scanf("%s ",m);
I = atoi(m);
开关(一)
{
案例1:{
printf(" \ t \ t请输入标题:\ n ");
scanf("%s ",名称);
flag = 0;
for(I = 0;我& ltn;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n ",lib[i]。num);
printf("%s\t\t%s\t\t%s\n ",lib[i]。book_name,lib[i]。作家,lib[i]。排序_编号);
printf("%s\t\t%s\t\t%s\n ",lib[i]。pub_company,lib[i]。pub_time,lib[i]。prise);
flag = 1;打破;
}
}
如果(标志==0)
printf(" \ t \ t没有这样的书!\ n ");
}
案例2:{
printf(" \ t \ t请输入作者:\ n ");
scanf("%s ",名称);
flag = 0;
for(I = 0;我& ltn;i++)
{
if(strcmp(name,lib[i].writer)==0)
{
printf("\t\t%d\n ",lib[i]。num);
printf("%s\t\t%s\t\t%s\n ",lib[i]。book_name,lib[i]。作家,lib[i]。排序_编号);
printf("%s\t\t%s\t\t%s\n ",lib[i]。pub_company,lib[i]。pub_time,lib[i]。prise);
flag = 1;打破;
}
}
如果(标志==0)
printf(" \ t \ t没有这样的作者!\ n ");
}
}/*按书名或作者查找书籍并输出*/
}
作废修改(void)
{
int i,flag
char name[30],n[3];
printf(" \ t \ t请输入要修改的标题:\ n ");
scanf("%s ",名称);/*修改书名*/
flag = 0;
for(I = 0;我& ltn;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n ",lib[i]。num);
printf("%s\t\t%s\t\t%s\n ",lib[i]。book_name,lib[i]。作家,lib[i]。排序_编号);
printf("%s\t\t%s\t\t%s\n ",lib[i]。pub_company,lib[i]。pub_time,lib[i]。prise);
printf(" \ t \ t请输入修改的信息:\ n ");
printf(" \ t \ tnum:\ n ");
scanf("%d ",& amplib[i]。num);
printf(" \ t \ t book _ name:\ n ");
scanf("%s ",lib[i].book _ name);
printf(" \ t \ t writer:\ n ");
scanf("%s ",lib[i].作家);
printf(" \ t \ t sort _ num:\ n ");
scanf("%s ",lib[i].排序_编号);
printf(" \ t \ tpub _ company:\ n ");
scanf("%s ",lib[i].pub _ company);
printf(" \ t \ tpub _ time:\ n ");
scanf("%s ",lib[i].pub _ time);
printf(" \ t \ t price:\ n ");
scanf("%s ",lib[i].prise);
flag = 1;打破;
}
}/*添加书籍*/
如果(标志==0)
printf(" \ t \ t找不到!\ n ");
}
void del(无效)
{
int i,j,flag
char name[30];
printf(" \ t \ t请输入要删除的标题:\ n ");
scanf("%s ",名称);
flag = 0;
for(I = 0;我& ltn;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n ",lib[i]。num);
printf("%s\t\t%s\t\t%s\n ",lib[i]。book_name,lib[i]。作家,lib[i]。排序_编号);
printf("%s\t\t%s\t\t%s\n ",lib[i]。pub_company,lib[i]。pub_time,lib[i]。prise);
for(j = N;j & gt我;j -)
{
lib[j-1]。num=lib[j]。num
strcpy(lib[j-1])。book_name,lib[j]。book _ name);
strcpy(lib[j-1])。作者,lib[j]。作家);
strcpy(lib[j-1])。sort_num,lib[j]。排序_编号);
strcpy(lib[j-1])。发布公司,图书馆[j]。pub _ company);
strcpy(lib[j-1])。pub_time,lib[j]。pub _ time);
strcpy(lib[j-1])。prise,lib[j]。prise);
flag = 1;
printf(" \ t \ t已被删除!\ n ");
打破;
}
}
}
如果(标志==0)
printf(" \ t \ t没有这样的书!\ n ");
}/*删除书籍*/