1、ctype.h /*字符操作函数*/time.h /*时钟函数*/cstdlibconio.hint x,k;/*定义全局变量用于保存当前商品种类*/struct product /*定义商品数据结构*/int num; /*商品编号*/char name20; /*商品名称*/float price;/*商品售价*/char place10;int storage;/*商品库存*/_product10,product110;/定义主结构体数组和备用结构体数组struct data/定义日期结构体 int year,month,day;struct sell /*定义销售数据结构*/int c
2、us; /*顾客代码*/ /*商品编号*/ float sells;/*销售数量*/ char data112;/*日期*/struct sell * next;*head_s,*pp,*tail_s;/定义头指针操、作指针以及尾指针struct customer /*定义销售数据结构*/char name10; /*顾客姓名*/struct customer * next;*head_c,*qq,*tail_c;void load();/读取文件函数void add();/添加销售信息函数int search_num();/根据商品编号查询商品的销售历史void cal();/计算时间段内各
3、个商品的销售总额int search_name();/根据顾客姓名,查询购买历史void list_name();/显示所有顾客的姓名void main();/主函数int judge();/主体判断函数int judge_data(char *data1);/细节判断函数,用于判断日期是否合法void download_s();/写入销售信息(顾客代码,销售数量、销售日期)文件void download_c();/导出顾客购买记录void display();/显示现在的商品信息void main()int choice;struct customer * head;/定义结构指针head=
4、malloc(sizeof(struct customer);/申请动态存储空间head-next=NULL;do printf(*欢迎使用商品销售管理系统!*nn);1. 导入商品信息n2. 显示商品信息n3. 输入销售记录记录n4. 按编号查寻商品销售历史n5. 计算时间段内各个销售总额n6. 按顾客姓名查找购买历史n7. 显示顾客姓名n8. 导出销售信息(顾客代码,销售数量、销售日期)文件n9. 导出顾客信息文件n0. 退出n*n请选择不同功能 输入0-9的数字n 若输入其它值会提前退出n scanf(%d,&choice); system(cls switch(choice) case
5、 1: load(); break; case 2: display(); case 3: add(); case 4: search_num(); case 5: cal(); case 6: search_name(); case 7: list_name(head); case 8: download_s(); case 9: download_c(); case 0:nnnn*谢谢使用*nnnn while(choice0&choiceqq-system(/*清屏*/printf(*商品信息*nnn 商品编号 商品名称 商品价格 商品产地 库存数量nwhile(i10) /输出商品记录
6、%8d%12s %12.2f%10s%14dn,_producti.num,_producti.name,_producti.price, _producti.place,_producti.storage); i+; nn查询完毕,请按任意键继续. getch();void load()/读取文件函数int i=0,n=0,a,b,j;FILE *fp; /指向文件的指针do请选择导入商品信息的方法n1:通过键盘输入n2:通过文件导入nscanf(a);if(a=2)if(fp=fopen(商品信息.txt,rb)=NULL)/打开文件不能打开文件,请检查文件路径n/不能打开 exit(0)
7、;/退出*/printf(*88商品信息88*n编号 名称 价格 产地 while(!feof(fp) /读入文件 fscanf(fp,%d%s%f%s%d_producti.num,_producti.name,&_producti.price,_producti.place,&_producti.storage);%-10d%-10s %-10.2f%-12s%-12dn,_producti.num,_producti.name,_producti.price,_producti.place,_producti.storage); for(i=0;i10;i+) product1i=_pr
8、oducti;/对备用结构体数组赋值 fclose(fp); /关闭文件tt数据读入成功!按任意键继续.nif(a=1) if(fp=fopen(商品信息1.txtw请输入商品种数b);*商品信息*n 产地 库存数量nfor(j=1;j10000|year12|month31|day30) n=0; if(month=2&day=29) n=0; if(month=4|month=6|month=9|month=11) return n;/判断函数 int judge()/判断商品编号 数量 日期是否正确 int i,j=0,k,temp; if(pp-num=_producti.num) j
9、+; x=k=i; temp=_productk.storage; if(_productk.storage-(int)pp-sells)=0) _productk.storage-=(int)pp-sells;/判断计算剩余量 if(j=0) return 3;/判断是否存在输入编号的商品 else if(temp-(int)pp-sellssells-(int)pp-sells=1e-6) return 4;/商品量 else if(judge_data(pp-data1)=0) return 0;/判断日期else return 1;/完全正确void add() int code,i=0,n,m;srand(time(0);code=rand();请输入销售记录nnn /*提示输入记录*/ 顾客姓名 商品编号 销售数量 销售日期n-n%s%d%f%s,qq-name,&num,&sells,pp-data1);/*输入记录*/n=(int)pp-if(ncus=qq-cus=code;/随机数 if(head_s=NULL) he
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1