当前位置:首页 > C语言课程设计(图书销售管理系统)
图书销售管理系统
}
/*买书*/ void buy() { char bnum[11]; char ch; int i=0; float sum=0;/*保存所购买书的总费*/ p1=head; if(p1==NULL||T==0)/*文件不存在或书库中没书*/ { printf(\当前书库没书!!!\ printf(\ 按任意键返回:\ rewind(stdin);/*清空缓冲区*/ getch(); return; } p5=p4=head2=(struct book*)malloc(LEN); p4->next=NULL; printf(\收费标准:0~50元不打折 50~100元打95折 100~200元打90折\\n\\n\\t\\t\\t200~300元打85折 300~500元打75折 >500元打70折\ do{ printf(\ 请输入所需购买的书的书号(图书编号):\书号唯一*/ rewind(stdin);/*清空缓冲区*/ gets(bnum); p1=head; while(p1!=NULL) { if(strcmp(p1->bnum,bnum)==0) break; else p1=p1->next; } if(p1==NULL) { system(\ printf(\没有找到该书信息,可能书号输入有误,是否调用查询功能确认书号\\n\\n\ printf(\输入Y调用 N不调用\ rewind(stdin);/*清空缓冲区*/ ch=getchar(); if(ch=='y'||ch=='Y') { system(\
第 40 页 共 58 页
图书销售管理系统
buy_flag=1;/*防止在此函数中调用时,search()函数执行了清屏*/ search();/*调用查询,通过其他途径确定书号*/ } while(1) { printf(\提示:若没有您要找的书,可按0结束!!!\ printf(\请重新输入书号:\ rewind(stdin);/*清空缓冲区*/ gets(bnum); if(strcmp(bnum,\没有需要的书,结束输入书号*/ p1=head; while(p1!=NULL) { if(strcmp(p1->bnum,bnum)==0) break; else p1=p1->next; } if(p1!=NULL) break; system(\ } } if(p1!=NULL) if(p1->benshu==0) printf(\该书已售完!!!\ while(p1!=NULL) { if(strcmp(p1->bnum,bnum)==0)/*有相同书号,循环提前结束*/ break; else p1=p1->next; } if(p1!=NULL&&p1->benshu!=0) { *p4=*p1; sum=sum+p4->bpay; p5=(struct book*)malloc(LEN); p4->next=p5; p6=p4; p4=p5; p4->next=NULL; i++;/*记录买的本数i,*/ p1->benshu=p1->benshu-1;/*减去售过的书(本数)*/ p4=head2;system(\ printf(\ ***********当前已选购书状态***********\ printf(\书号 书名 作者 售价 存在状态 总费\\n\\n\
第 41 页 共 58 页
图书销售管理系统
while(p4->next!=NULL)/*显示已买过的书*/ { printf(\ %d %.2f\\n\ p4=p4->next; } } printf(\提示:可按N结束购书,按任意键继续购书:\ rewind(stdin);/*清空缓冲区*/ ch=getchar(); system(\ }while(ch!='n'&&ch!='N');/*结束购书*/ free(p4);p5->next=NULL; if(head2->next==NULL) printf(\您当前没有购书!!!\\n\\n\ else { printf(\确认购买这%d本书吗???\\n\ printf(\按任意键确认,按N撤销购书:\不想购买时,亦可撤销*/ rewind(stdin);/*清空缓冲区*/ ch=getchar(); if(ch=='n'||ch=='N') { for(p4=head2;p4!=NULL;p4=p4->next) for(p1=head;p1!=NULL;p1=p1->next) if(strcmp(p1->bnum,p4->bnum)==0) p1->benshu=p1->benshu+1;/*书未销售,本数加上*/ printf(\撤销完毕!!!!\ } else { printf(\您所购买的书的总费为%.2f\\n\\n\ if(sum<50) printf(\按收费标准,您需支付%.2f元\ else if(sum>=50&&sum<100) printf(\按收费标准打95折,您需支付%.2f元\ else if(sum>=100&&sum<200) printf(\按收费标准打90折,您需支付%.2f元\ else if(sum>=200&&sum<300) printf(\按收费标准打85折,您需支付%.2f元\ else if(sum>=300&&sum<500) printf(\按收费标准打75折,您需支付%.2f元\ else if(sum>=500) printf(\按收费标准打70折,您需支付%.2f元\
第 42 页 共 58 页
图书销售管理系统
save_flag=1;/*书库信息变动标志*/ } } rewind(stdin);/*清空缓冲区*/ printf(\按回车键返回主菜单\ getchar(); }
/*显示已售完的书*/ void bover() { struct book *p9; int print_flag=0; p9=head; while(p9!=NULL) { if(p9->benshu==0) { if(print_flag==0) printf(\当前已售完的图书\\n\\n\ printf(\ %-6.2f %-5d\\n\ print_flag=1;/*“当前已售完的图书”与“当前书库没有已售完的图书”只能显示一个*/ } p9=p9->next; } if(print_flag==0) printf(\当前书库没有已售完的图书\ printf(\按回车键继续:\ rewind(stdin);/*清空缓冲区*/ }
/*显示删除菜单*/ void print3() { printf(\ ******************删除方式******************\\n\\n\ printf(\ 1.通过书号删除\\n\\n\ printf(\ 2.通过书名删除\\n\\n\ printf(\ 3.通过作者删除\\n\\n\ printf(\ 0.退出图书删除\\n\\n\}
/*删除图书信息*/ void delet() { char password[10],ch;
第 43 页 共 58 页
共分享92篇相关文档