当前位置:首页 > C语言课程设计(图书销售管理系统)
图书销售管理系统
fscanf(fp,\hu); while(!feof(fp)) { T++; *p1=*p7;/*文件没结束就将p7中的信息给p1*/ p2=(struct book*)malloc(LEN);/*继续开辟一个新单元,直到文件读完*/ p1->next=p2; p3=p1; p1=p2; p1->next=NULL; fscanf(fp,\hu); } free(p2);p3->next=NULL;/*释放多申请的一个单元*/ printf(\项图书信息已经由系统自动载入.\\n\\n\\t\\t\\t按任意键显示主菜单:\ rewind(stdin);/*清空缓冲区*/ getch(); if(fclose(fp)) { printf(\文件关闭失败!\\n\ exit(0); } }
/*查询书库信息*/ void search() { int choice; p1=head; if(p1==NULL||T==0)/*文件不存在或书库中没书*/ { printf(\当前书库没书!!!\ printf(\ 按任意键返回:\ rewind(stdin);/*清空缓冲区*/ getch(); return; } while(1) { printf(\ ******************查询方式******************\\n\\n\ printf(\ 1.通过书号查找\\n\\n\
第 36 页 共 58 页
图书销售管理系统
printf(\ 2.通过书名查找\\n\\n\ printf(\ 3.通过作者查找\\n\\n\ printf(\ 0.退出图书查询\\n\\n\ printf(\ 请选择一种查询方式(0~3):\ rewind(stdin);/*清空缓冲区*/ scanf(\ while(choice<0||choice>3) { system(\ print2();/*调用显示查询方式菜单*/ printf(\输入错误!!!\\n\\n\ printf(\请重新输入:\ rewind(stdin);/*清空缓冲区*/ scanf(\ } switch(choice) { case 1:system(\ case 2:system(\ case 3:system(\ case 0:return; } printf(\按回车键继续:\ rewind(stdin);/*清空缓冲区*/ getchar(); if(buy_flag==1)/*购书调用此函数时,要提前结束,不能执行清屏,以便看着列表输入书号*/ break; system(\ } }
/*查询方式菜单*/ void print2() { printf(\ ******************查询方式******************\\n\\n\ printf(\ 1.通过书号查找\\n\\n\ printf(\ 2.通过书名查找\\n\\n\ printf(\ 3.通过作者查找\\n\\n\ printf(\ 0.退出图书查询\\n\\n\}
/*通过书号查询*/
void search_by_bnum() { char bnum [11];
第 37 页 共 58 页
图书销售管理系统
printf(\请输入书号:\ rewind(stdin);/*清空缓冲区*/ scanf(\ p1=head; while(p1!=NULL) { if(strcmp(p1->bnum,bnum)==0)/*有相同书号,循环提前结束*/ break; else p1=p1->next; } if(p1==NULL) printf(\ 对不起!该书库没有您要找的书!\\n\\n\ else { system(\ printf(\ *****************当前查找状态显示*****************\\n\\n\ printf(\书号 书名 作者 售价 存在状态\\n\\n\ printf(\ %.2f %d\\n\ } }
/*通过书名查询*/
void search_by_bname() { char bname [40]; printf(\请输入书名:\ rewind(stdin);/*清空缓冲区*/ scanf(\ p1=head; while(p1!=NULL) { if(strcmp(p1->bname,bname)==0) /*有相同书名,循环提前结束*/ break; else p1=p1->next; } if(p1==NULL) printf(\ 对不起!该书库没有您要找的书!\\n\\n\ else { p2=p1;/*同种书名的书*/ system(\ printf(\ *****************当前查找状态显示*****************\\n\\n\
第 38 页 共 58 页
图书销售管理系统
printf(\书号 书名 作者 售价 存在状态\\n\\n\ while(p2!=NULL) { if(strcmp(p1->bname,p2->bname)==0) printf(\ %.2f %d\\n\ p2=p2->next; } } }
/*通过作者查询*/
void search_by_author() { char author [20]; printf(\请输入作者:\ rewind(stdin);/*清空缓冲区*/ scanf(\ p1=head; while(p1!=NULL) { if(strcmp(p1->author,author)==0)/*有相同作者,循环提前结束*/ break; else p1=p1->next; } if(p1==NULL) printf(\ 对不起!该书库没有您要找的书!\\n\\n\ else { p2=p1;/*同一个作者*/ system(\ printf(\ *****************当前查找状态显示*****************\\n\\n\ printf(\书号 书名 作者 售价 存在状态\\n\\n\ while(p2!=NULL) { if(strcmp(p1->author,p2->author)==0) printf(\ %.2f %d\\n\ p2=p2->next; } }
第 39 页 共 58 页
共分享92篇相关文档