芬迪健身

# include & ltstdio.h & gt

# 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 ");

}/*删除书籍*/