欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    商品销售管理系统设计doc 41页.docx

    • 资源ID:16107849       资源大小:23.90KB        全文页数:39页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    商品销售管理系统设计doc 41页.docx

    1、商品销售管理系统设计doc 41页、商品销售管理问题描述:已知一公司有10种产品(产品编号,产品名称,产品价格,产品产地,库存数量(最开始为1000个),设计一程序,完成以下功能:1) 1)销售:从键盘输入顾客姓名,销售数量、销售日期,实现销售功能。需要判断产品是否存在,销售数量是否小于库存数量,销售日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)2) 2)能根据产品编号查询产品的销售历史3) 3)计算时间段内各个产品的销售总额4) 4)能根据顾客姓名,查询购买历史5) 5)能显示所有顾客的姓名提示: 定义一个日期结构体保存日期,具体信息为:年、月、日 判断存款日期和取

    2、款日期的格式是否合法时,需要判断长度是否为10,第5位和第8位是否为-,字符,将1-4位表示的年份,6-7位表示的月份,9-10位表示的日期分别转换成整数。判断是否满足构成日期的条件闰年月份只能是1-12之间的数,如果是闰年,二月可以是29天否则不能大于28,1,3,5,7,8,10,12月可以是31天,其余只能小于等于30(建议写成函数)。 定义一个结构体数组保存10种产品信息,具体信息为:产品编号,产品名称,产品价格,产品产地,库存数量(最开始为1000个) 定义一个链表,保存销售信息,具体为:顾客代码,销售数量、销售日期。 定义一个链表保存顾客信息,具体为:顾客代码,顾客姓名 当输入销售

    3、信息时查询顾客链表,如果在链表中存在该姓名的顾客记录,则将其代码在该销售链表中插入一条记录,如果不存在,则在顾客链表中插入一条记录,(顾客代码需要自动生成)。 #include stdio.h /*I/O函数*/#include stdlib.h /*标准库函数*/#include string.h/*字符串函数*/#include ctype.h /*字符操作函数*/#include time.h /*时钟函数*/#include cstdlib#include conio.hint x,k;/*定义全局变量用于保存当前商品种类*/struct product /*定义商品数据结构*/ in

    4、t num; /*商品编号*/ char name20; /*商品名称*/ float price; /*商品售价*/ char place10; /*商品名称*/ int storage; /*商品库存*/_product10,product110;/定义主结构体数组和备用结构体数组struct data/定义日期结构体 int year,month,day;struct sell /*定义销售数据结构*/ int cus; /*顾客代码*/ int num; /*商品编号*/ float sells;/*销售数量*/ char data112;/*日期*/ struct sell * ne

    5、xt;*head_s,*pp,*tail_s;/定义头指针操、作指针以及尾指针 struct customer /*定义销售数据结构*/ int cus; /*顾客代码*/ char name10; /*顾客姓名*/ struct customer * next;*head_c,*qq,*tail_c;/定义头指针操、作指针以及尾指针void load();/读取文件函数void add();/添加销售信息函数int search_num();/根据商品编号查询商品的销售历史void cal();/计算时间段内各个商品的销售总额int search_name();/根据顾客姓名,查询购买历史v

    6、oid 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=malloc(sizeof(struct customer);/申请

    7、动态存储空间 head-next=NULL;do printf(*欢迎使用商品销售管理系统!*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); prin

    8、tf(*n); printf(请选择不同功能 输入0-9的数字n 若输入其它值会提前退出n); scanf(%d,&choice); system(cls); switch(choice) case 1: load(); system(cls); break; case 2: display(); break; case 3: add(); break; case 4: search_num(); break; case 5: cal(); break; case 6: search_name(); break; case 7: list_name(head); break; case 8:

    9、download_s(); break; case 9: download_c(); break; case 0: printf(nnnn); printf(*谢谢使用*nnnn); break; while(choice0&choicenext=NULL; qq-next=NULL; system(cls); /*清屏*/ printf(*商品信息*nnn); printf( 商品编号 商品名称 商品价格 商品产地 库存数量n); while(i10) /输出商品记录 printf(%8d%12s %12.2f%10s%14dn,_producti.num,_producti.name,_p

    10、roducti.price, _producti.place,_producti.storage); i+; printf(nn查询完毕,请按任意键继续.); getch(); system(cls);void load()/读取文件函数 int i=0,n=0,a,b,j; FILE *fp; /指向文件的指针 do printf(请选择导入商品信息的方法n1:通过键盘输入n2:通过文件导入n); scanf(%d,&a); if(a=2) if(fp=fopen(商品信息.txt,rb)=NULL)/打开文件 printf(不能打开文件,请检查文件路径n); /不能打开 exit(0);

    11、/退出*/ printf(*88商品信息88*n); printf(编号 名称 价格 产地 库存数量n); while(!feof(fp) /读入文件 fscanf(fp,%d%s%f%s%d,&_producti.num,_producti.name,&_producti.price,_producti.place,&_producti.storage); printf(%-10d%-10s %-10.2f%-12s%-12dn,_producti.num,_producti.name,_producti.price,_producti.place,_producti.storage); i

    12、+; for(i=0;i10;i+) product1i=_producti; /对备用结构体数组赋值 fclose(fp); /关闭文件 printf(tt数据读入成功!按任意键继续.n); if(a=1) if(fp=fopen(商品信息1.txt,w)=NULL)/打开文件 printf(不能打开文件,请检查文件路径n); /不能打开 exit(0); /退出*/ printf(请输入商品种数); scanf(%d,&b); printf(*商品信息*n); printf(编号 名称 价格 产地 库存数量n); for(j=1;j10000|year12|month31|day30) n

    13、=0; if(month=2&day=29) n=0; if(month=4|month=6|month=9|month=11) if(day30) n=0; return n;/判断函数 int judge()/判断商品编号 数量 日期是否正确 int i,j=0,k,temp; for(i=0;inum=_producti.num) j+; x=k=i; temp=_productk.storage; if(_productk.storage-(int)pp-sells)=0) _productk.storage-=(int)pp-sells;/判断计算剩余量 break; if(j=0)

    14、 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; pp=(struct sell *)malloc(sizeof(struct sell);/申请动态存储空间并将指针转变为结构类型 qq=(struct customer *)malloc(sizeof(str

    15、uct customer);/申请动态存储空间并将指针转变为结构类型 srand(time(0); code=rand(); pp-next=NULL; qq-next=NULL; system(cls); /*清屏*/ printf(请输入销售记录nnn); /*提示输入记录*/ printf(顾客姓名 商品编号 销售数量 销售日期n); printf(-n); scanf(%s%d%f%s,qq-name,&pp-num,&pp-sells,pp-data1); /*输入记录*/ n=(int)pp-sells; if(nsells); while(1) m=judge();/判断商品编号 数量 日期是否正确 if(m=1) / pp=(struct sell *)malloc(sizeof(struct sell);/申请动态存储空间并将指针转变为结构类型 / qq=(struct customer *)malloc(sizeof(struct customer); pp-cus=qq-cus=code;/随机数 if(head_s=NULL) head_s=pp;


    注意事项

    本文(商品销售管理系统设计doc 41页.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开