发布时间 : 星期日 文章C语言图书管理系统更新完毕开始阅读c00684252f60ddccda38a05b
湖南大学程序设计训练报告
}
printf(\请输入Y或y或N或n\\n\choice=getch();
if(choice=='Y'||choice=='y') continue; else break;
}/*else结束*/
}/*while(1)结束*/ }
void search_according_auther()/*根据图书作者显示图书的信息*/ {
char search[20]=\用来存放要查询的作者名*/ int n; FILE *p;
char choice;
BOOKINFO bookinfo[100]; int booknumber=0;
system(\
p=fopen(\ while(!feof(p))
{
fflush(stdin); //清除文件缓冲区
fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++;
}
booknumber--;/*使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/ fclose(p); while(1) {
printf(\输入要查询的作者名称:\gets(search);
if(booknumber==0) {
printf(\书库中没有任何信息!\\n\\n\printf(\按任意键回到主菜单!\\n\\n\getch(); break;
}/*if结束*/ else {
12
湖南大学程序设计训练报告
for(n=0;n if(strcmp(bookinfo[n].name,search)==0) { printf(\该书的详细信息如下:\\n\ printf(\ 图书信息 printf(\编号 名称 单价 作者 图书状态 出版 \\n\ 社 类别 剩余书籍\\n\ break; } for(n=0;n if(strcmp(bookinfo[n].auther,search)==0) { printf(\ %-16s%-8s%-6d\\n\ bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); } if(n>=booknumber) printf(\没有查找该书的任何信息!\\n\printf(\是否继续查询?(Y/N)\\n\ choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf(\请输入Y或y或N或n\\n\choice=getch(); } if(choice=='Y'||choice=='y') continue; else break; }/*else结束*/ }/*while(1)结束*/ } void search_according_sort()/*根据图书类别显示图书的信息*/ { char search[20]=\用来存放要查询的类别*/ int n; FILE *p; char choice; BOOKINFO bookinfo[100]; 13 湖南大学程序设计训练报告 int booknumber=0; system(\ p=fopen(\ while(!feof(p)) { fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; } booknumber--;/*使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/ fclose(p); while(1) { fflush(stdin);//清除文件缓冲区 printf(\输入要查询的类别名称:\ gets(search); if(booknumber==0) { printf(\书库中没有任何信息!\\n\\n\printf(\按任意键回到主菜单!\\n\\n\getch(); break; }/*if结束*/ else { for(n=0;n if(strcmp(bookinfo[n].sort,search)==0) { printf(\该书的详细信息如下:\\n\ \\n\ printf(\ 图书信息 printf(\编号 名称 单价 作者 图书状态 出版社 类别 剩余书籍\\n\ break; } for(n=0;n if(strcmp(bookinfo[n].sort,search)==0) { printf(\ %-16s%-8s%-6d\\n\ bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, 14 湖南大学程序设计训练报告 bookinfo[n].sort,bookinfo[n].bookcount); } if(n>=booknumber) printf(\没有查找该书的任何信息!\\n\printf(\是否继续查询?(Y/N)\\n\ choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { } if(choice=='Y'||choice=='y') printf(\请输入Y或y或N或n\\n\choice=getch(); continue; else break; }/*else结束*/ }/*while(1)结束*/ } void search_according_published()/*根据图书出版社显示图书的信息*/ { char search[20]=\用来存放要查询的出版社*/ int n; FILE *p; char choice; BOOKINFO bookinfo[100]; int booknumber=0; system(\ p=fopen(\ while(!feof(p)) { } fflush(stdin);//清除文件缓冲区 fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; booknumber--;/*使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/ fclose(p); while(1) { printf(\输入要查询的出版社名称:\gets(search); if(booknumber==0) 15