商品销售管理系统设计.docx
商品销售管理系统设计问题描绘:已知一公司有10种产品产品编号,产品名称,产品价格,产品产地,库存数量最开场为1000个,设计一程序,完成下面功能:1)1)销售:从键盘输入顾客姓名,销售数量、销售日期,实现销售功能。需要判定产品能否存在,销售数量能否小于库存数量,销售日期格式能否合法格式为:YYYY-MM-DD,如2020-01-022)2)能根据产品编号查询产品的销售历史3)3)计算时间段内各个产品的销售总额4)4)能根据顾客姓名,查询购买历史5)5)能显示所有顾客的姓名提示:定义一个日期构造体保存日期,详细信息为:年、月、日判定存款日期和取款日期的格式能否合法时,需要判定长度能否为10,第5位和第8位能否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判定能否知足构成日期的条件闰年月份只能是1-12之间的数,假如是闰年,二月能够是29天否则不能大于28,1,3,5,7,8,10,12月能够是31天,其余只能小于等于30建议写成函数。定义一个构造体数组保存10种产品信息,详细信息为:产品编号,产品名称,产品价格,产品产地,库存数量最开场为1000个定义一个链表,保存销售信息,详细为:顾客代码,销售数量、销售日期。定义一个链表保存顾客信息,详细为:顾客代码,顾客姓名当输入销售信息时查询顾客链表,假如在链表中存在该姓名的顾客记录,则将其代码在该销售链表中插入一条记录,假如不存在,则在顾客链表中插入一条记录,#include"stdio.h"/*I/O函数*/#include"stdlib.h"/*标准库函数*/#include"string.h"/*字符串函数*/#include"ctype.h"/*字符操作函数*/#include"time.h"/*时钟函数*/#include"cstdlib"#include"conio.h"intx,k;/*定义全局变量用于保存当前商品种类*/structproduct/*定义商品数据构造*/intnum;/*商品编号*/charname20;/*商品名称*/floatprice;/*商品售价*/charplace10;/*商品名称*/intstorage;/*商品库存*/_product10,product110;/定义主构造体数组和备用构造体数组structdata/定义日期构造体intyear,month,day;structsell/*定义销售数据构造*/intcus;/*顾客代码*/intnum;/*商品编号*/floatsells;/*销售数量*/chardata112;/*日期*/structsell*next;*head_s,*pp,*tail_s;/定义头指针操、作指针以及尾指针structcustomer/*定义销售数据构造*/intcus;/*顾客代码*/charname10;/*顾客姓名*/structcustomer*next;*head_c,*qq,*tail_c;/定义头指针操、作指针以及尾指针voidload();/读取文件函数voidadd();/添加销售信息函数intsearch_num();/根据商品编号查询商品的销售历史voidcal();/计算时间段内各个商品的销售总额intsearch_name();/根据顾客姓名,查询购买历史voidlist_name();/显示所有顾客的姓名voidmain();/主函数intjudge();/主体判定函数intjudge_data(char*data1);/细节判定函数,用于判定日期能否合法voiddownload_s();/写入销售信息(顾客代码,销售数量、销售日期)文件voiddownload_c();/导出顾客购买记录voiddisplay();/显示如今的商品信息/主函数voidmain()intchoice;structcustomer*head;/定义构造指针head=malloc(sizeof(structcustomer);/申请动态存储空间head->next=NULL;doprintf("*欢迎使用商品销售管理系统!*nn");printf("1.导入商品信息n");printf("2.显示商品信息n");printf("3.输入销售记录记录n");printf("4.按编号查寻商品销售历史n");printf("5.计算时间段内各个销售总额n");printf("6.按顾客姓名查找购买历史n");printf("7.显示顾客姓名n");printf("8.导出销售信息(顾客代码,销售数量、销售日期)文件n");printf("9.导出顾客信息文件n");printf("0.退出n");printf("*n");printf("请选择不同功能输入0-9的数字n若输入其它值会提早退出n");scanf("%d",&choice);system("cls");switch(choice)case1:load();system("cls");break;case2:display();break;case3:add();break;case4:search_num();break;case5:cal();break;case6:search_name();break;case7:list_name(head);break;case8:download_s();break;case9:download_c();break;case0:printf("nnnn");printf("*谢谢使用*nnnn");break;while(choice>0&&choiceqq=(structcustomer*)malloc(sizeof(structcustomer);/申请动态存储空间并将指针转变为构造类型pp->next=NULL;qq->next=NULL;system("cls");/*清屏*/printf("*商品信息*nnn");printf("商品编号商品名称商品价格商品产地库存数量n");while(iprintf("nn查询完毕,请按任意键继续.");getch();system("cls");voidload()/读取文件函数inti=0,n=0,a,b,j;FILE*fp;/指向文件的指针doprintf("请选择导入商品信息的方法n1:通过键盘输入n2:通过文件导入n");scanf("%d",if(a=2)