1、超市商品销售管理系统教材DOCX 70页 超市商品销售管理系统 所在学院:光电学院 小组成员:谢宗恒 罗 超 郑 佳 1 简况项目背景超市中商品种类数目庞大,每天需要大量的人力对各类商品进行管理。上架商品需要分类排序,工作人员需要时常去查询是否有某种商品,每天还要检查某种商品是否需要补货,不仅工作量大,而且耗时耗力。因此我们组设计了一个软件,可以随时查询浏览商品信息,对商品信息进行删除修改,并且可以添加新的商品,录入商品销量后在货架余量低于特定值时进行商品上架提醒。在录入每日销量后还可以进行累计销售分析,帮助管理人员确定销售趋势和进货量。 2 项目设计 软件功能此软件面向用户分为两部分,主管和
2、工作人员,主管拥有所有权限,包括商品信息管理,货架管理和商品销售管理。工作人员只具有商品查询,商品浏览和补货的功能。在商品信息管理中包括商品添加,商品删除,商品信息修改和商品浏览功能。货架管理中包括补货功能和商品销量录入功能。商品销售管理中包括销售额以及销售分析。此软件还具有商品价格查询,对于录入商品进行分类排序等功能。 结构框图超市商品销售管理系统结构框图 系统开发运行平台Microsoft Word2010Microsoft Visio2010Windows8 3 数据结构设计储存数据文件储存:这是一个商品销售管理系统。对于文件是可读可写,主管有全部修改和查询权限,工作人员仅有对货架剩余量
3、的修改权限和全部查询权限。文件界面操作作用使用时间可读可写用于存放商品编码,类型,名称,价格,货架剩余量,警戒值,累计销量。系统初始化时以及修改删除及添加商品时。内部逻辑数据商品信息节点struct goods char code6; 品添加:添加商品时自动定位到该类商品末尾。通过添加类型的输入,由一个指针直接指向该类最后一个商品,直接在该类商品后进行添加。避免了添加商品后各种不同类型商品混杂的情况。2.补货功能:在进行商品销量录入时,当商品数量低于限定值时,系统会自动提示货架剩余量过低,请及时补货。在补货功能界面输入商品编码,会显示现在商品余量,添加补货数量即可。3.同类商品销售分析:根据每
4、日录入的销量,可以自动对销量进行累加,可以查询同类商品的累计销售额及销售量,由此可以轻易得出同类商品哪些比较受欢迎,确定销售进货侧重商品种类。 4 系统功能演示 关于界面设计追求简约清晰的界面。 系统功能演示开始进入初始化界面 登陆界面 工作人员界面 (密码:222222)主管登陆界面(密码:111111)菜单一:商品信息管理界面 商品添加界面商品删除界面 按名称删除按编码删除 商品信息修改界面 商品浏览界面 货架管理界面 商品销量录入(依次录入) 补货功能界面 商品销量清零 商品销售管理界面 单品日销售额查询 累计销售总额查询界面 同类商品销量分析 (需手动录入商品销售额) 5 小组分工学号
5、姓名职责占百分比重12谢宗恒编写代码及程序调试35%32罗超编写代码及程序调试35%06郑佳文档文件编写及程序调试30% 6 总结通过这次C语言短学期的项目开发,我们充分认识到了团队的重要性,人无完人,每个人都有不足之处,一人不足之处其他人补,方能高效的完成任务。C语言是一门严谨的科学,一处不起眼的错误就可能导致全盘的崩溃,而且系统软件的架构安排,数据结构的选择,以及多种功能的实现使得我们必须小心编写,一遍一遍查漏补缺,从而使系统功能可以正常使用,编码无错误后,会小心改动,优化系统。 这次短学期项目锻炼了我们的团队协作能力,也使得我们的思维更加严谨,对于结构有更好的理解,但由于时间匆忙,所以只
6、是列了超市一小部分用于测试功能是否实现,逻辑是否正确,要想做成完整的超市销售管理系统,我们还需多加努力。 7 完整源代码/*/* Name: 超市商品管理 */* Author: 罗超 */* 郑佳 */* 谢宗恒 */* Version: */*/#include#include#include#define line_1 -#define line_2 #define line_3 *-/-*-/-*-/-*-/-*-/-*-/-*-/-*-/-*#define line_4 (o)(o)(o)(o)(o)(o)#define NULL (void *)0)#define LEN size
7、of(struct goods)int quanxian;int number100;struct goods char code6; 品信息管理n); printf(2.货架管理n); printf(3.商品销售管理n); printf(0.退出nn); printf(%s nn,line_2); int n; scanf(%d,&n); system(cls); switch(n) case 1:menu_1();break; case 2:menu_2();break; case 3:menu_3();break; case 0:exit(0); void menu_() int i=2
8、; system(color 3E); printf(%s nn,line_3); printf(t欢迎进入工作人员界面nn); printf(%s nn,line_2); printf(请选择:n); printf(1.商品查询n); printf(2.商品信息浏览n); printf(3.补货n); printf(0.退出n); int n; scanf(%d,&n); int j=2; switch(n) case 1:system(cls);goods_research();break; case 2:system(cls);scan();break; case 3:system(cl
9、s);add_number();break; case 0:exit(0); void menu_1() int i=1; printf( nnt 商品信息管理n); printf( %s n,line_1); printf(%s nn,line_2); printf(1.商品添加n); printf(2.商品删除n); printf(3.商品信息修改n); printf(4.浏览n); printf(0.返回nn); printf(%s n,line_2); int n; scanf(%d,&n); system(cls); switch(n) case 1:goods_add();brea
10、k; case 2:delete();break; case 3:modification();break; case 4:scan();break; case 0:return menu(); void menu_2() printf(n t 货架管理n); printf( t%s n,line_1); printf(%s nn,line_2); printf(1.商品销量录入n); printf(2.补货n); printf(3.商品销量清零n); printf(0.返回nn); printf(%s n,line_2); int n; scanf(%d,&n); system(cls);
11、switch(n) case 1:sales_entry();break; case 2:add_number();break; case 3:sale_reset();break; case 0:return menu(); void menu_3() printf(nt 商品销售管理n); printf( %s n,line_1); printf(%s nn,line_2); printf(1.单品累计销售额查询n); printf(2.累计销售总额查询n); printf(3.同类商品销售分析n); printf(0.返回nn); printf(%s n,line_2); int n;
12、scanf(%d,&n); switch(n) case 1:sale_good();break; case 2:sale_goods();break; case 3:analyse();break; case 0:system(cls);return menu(); void goods_research() 续删除); printf(n 0.返回); int n; scanf(%d,&n); while(n!=1&n!=0) printf(输入错误,请重新输入!n); scanf(%d,&n); switch(n) case 0:system(cls);menu_1();break; ca
13、se 1:system(cls);delete();break; void code_delete() fflush(stdin); struct goods *p1,*p2,*head; char code20 ; printf(n%sn,line_3); printf(请输入商品编码:); head=create(),p1=head,p2=p1; scanf(%s,code); while(p1!=NULL) if(strcmp(p1-code,code)=0) if(p1=head) head=p1-next; else p2-next=p1-next; printf(您删除的商品信息为
14、:n); printf(编码 种类 名称 价格 货架余量n); printf(%st%st%st%ft%dt%dt%d,p1-code,p1-type,p1-name,p1-price,p1-num,p1-limited_num,p1-sale_num); break; else p2=p1; p1=p1-next; if(p1=NULL) system(cls); printf(您输入的编码有误,请重新输入:n); return code_research(); FILE *fp; fp=fopen(,w); while(head!=NULL) fprintf(fp,%st%st%st%ft
15、%dt%dt%dn,head-code,head-type,head-name,head-price,head-num,head-limited_num,head-sale_num); head=head-next; fclose(fp); printf(n请选择:n); printf(n 1.继续删除); printf(n 0.返回); int n; scanf(%d,&n); while(n!=1&n!=0) printf(输入错误,请重新输入!n); scanf(%d,&n); switch(n) case 0:system(cls);menu_1();break; case 1:sys
16、tem(cls);delete();break; void scan() fflush(stdin); char ch; FILE *fp; printf(n%sn,line_3); printf(编码 种类 名称 价格 货架余量 限定量 销售量n); if (fp = fopen(, r) = NULL) fprintf(stderr,无法打开文件); exit(0); ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); fclose(fp); printf(按任意键返回上一级菜单n); fflush(stdin); char ch
17、ee; chee=getchar(); system(cls); switch(quanxian) case 1:menu_1();break; case 2:menu_();break; void sales_entry() 续选择添加); printf(n0.返回n); int i ; scanf(%d,&i); while(i!=1&i!=0) printf(输入错误,请重新输入!n); scanf(%d,&i); switch(i) case 1:add_number(); case 0: if(quanxian=1)system(cls);menu_2();break; if(qua
18、nxian=2)system(cls);menu_();break; void sale_good() 行商品销量录入n); printf(0.返回n); int i; scanf(%d,&i); while(i!=1&i!=0) printf(输入错误,请重新输入!n); scanf(%d,&i); switch(i) case 1: system(cls); return sales_entry() ; case 0: system(cls); return menu(); struct goods *p; int i=0;float sum; char code6 ; printf(n%
19、sn,line_3); printf(请输入你要查询的商品编码:n); p=create(); scanf(%s,code); while(p!=NULL) if(strcmp(p-code,code)=0) printf(您所查询的商品为:%s n,p-name); printf(商品累计的销售额为:); sum=p-price*p-sale_num; printf(%f,sum); break; else p=p-next; i+; if(p=NULL) system(cls); printf(您查询的的商品有误,请重新输入!n); system(cls); return sale_goo
20、d(); printf(n 1.返回 n 2.继续查询n 0.退出n); int n; scanf(%d,&n); while(n!=1&n!=0&n!=2) printf(输入错误,请重新输入!n); scanf(%d,&n); switch(n) case 1: system(cls);return menu_3(); case 2: system(cls);return sale_good(); case 0: exit(0); void sale_goods() 行商品销量录入n); printf(0.返回n); int i; scanf(%d,&i); while(i!=1&i!=0
21、) printf(输入错误,请重新输入!n); scanf(%d,&i); switch(i) case 1: system(cls); return sales_entry() ; case 0: system(cls); return menu(); float sum=0;int i=0; struct goods *head,*p; head=create(); while(head!=NULL) sum+=head-price*head-sale_num; head=head-next; printf(n累计总销售额为:%f,sum); printf(n 1.返回 n 0.退出n);
22、 int n; scanf(%d,&n); while(n!=1&n!=0) printf(输入错误,请重新输入!n); scanf(%d,&n); switch(n) case 1: system(cls);return menu_3(); case 0: exit(0); void analyse() 回 n 2.继续查询n 0.退出n); int n; scanf(%d,&n); while(n!=1&n!=0&n!=2) printf(输入错误,请重新输入!n); scanf(%d,&n); switch(n) case 1: system(cls);return menu_3();
23、case 2: system(cls);return analyse(); case 0: exit(0); void sale_reset() fflush(stdin); struct goods *p,*head; printf(n%sn,line_3); p=head=create(); while(p!=NULL) p-sale_num=0; p=p-next; FILE *fp; fp=fopen(,w); while(head!=NULL) fprintf(fp,%st%st%st%ft%dt%dt%dn,head-code,head-type,head-name,head-price,head-num,head-limited_num,head-sale_num); head=head-next; fclose(fp); printf(按任意键返回上一级菜单n); fflush(stdin); char chee; chee=getchar(); system(cls); menu_2();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1