欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    超市商品销售管理系统项目设计报告.docx

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

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

    超市商品销售管理系统项目设计报告.docx

    超市商品销售管理系统 所在学院:光电学院 小组成员:谢宗恒 罗 超 郑 佳目录1 简况31.1项目背景32 项目设计42.1 软件功能42.2 结构框图52.3 系统开发运行平台63 数据结构设计73.1储存数据73.2内部逻辑数据73.3 系统特色:84 系统功能演示124.1 关于界面设计124.2 系统功能演示125 小组分工236 总结247 完整源代码25 1 简况1.1项目背景超市中商品种类数目庞大,每天需要大量的人力对各类商品进行管理。上架商品需要分类排序,工作人员需要时常去查询是否有某种商品,每天还要检查某种商品是否需要补货,不仅工作量大,而且耗时耗力。因此我们组设计了一个软件,可以随时查询浏览商品信息,对商品信息进行删除修改,并且可以添加新的商品,录入商品销量后在货架余量低于特定值时进行商品上架提醒。在录入每日销量后还可以进行累计销售分析,帮助管理人员确定销售趋势和进货量。 2 项目设计2.1 软件功能此软件面向用户分为两部分,主管和工作人员,主管拥有所有权限,包括商品信息管理,货架管理和商品销售管理。工作人员只具有商品查询,商品浏览和补货的功能。在商品信息管理中包括商品添加,商品删除,商品信息修改和商品浏览功能。货架管理中包括补货功能和商品销量录入功能。商品销售管理中包括销售额以及销售分析。此软件还具有商品价格查询,对于录入商品进行分类排序等功能。2.2 结构框图超市商品销售管理系统结构框图2.3 系统开发运行平台Microsoft Word2010Codeblocks10.05Microsoft Visio2010Windows8 3 数据结构设计3.1储存数据文件储存:这是一个商品销售管理系统。对于goods.txt文件是可读可写,主管有全部修改和查询权限,工作人员仅有对货架剩余量的修改权限和全部查询权限。文件界面操作作用使用时间goods.txt可读可写用于存放商品编码,类型,名称,价格,货架剩余量,警戒值,累计销量。系统初始化时以及修改删除及添加商品时。3.2内部逻辑数据商品信息节点struct goods char code6; /商品编码 char type5; /商品种类 char name10; /商品名称 float price; /商品价格 int num; /货架余量 int limited_num; /限定量(低于此值自动提醒补货) int sale_num; /累计销售量 struct goods *next;go;>存放商品信息节点的结构体系统初始化后,所有对商品信息的操作都是先对链表进行操作,若有改动,则将改动后的链表重新写入文件。 【系统初始化后,菜单读到链表中】3.3 系统特色1.商品添加:添加商品时自动定位到该类商品末尾。通过添加类型的输入,由一个指针直接指向该类最后一个商品,直接在该类商品后进行添加。避免了添加商品后各种不同类型商品混杂的情况。2.补货功能:在进行商品销量录入时,当商品数量低于限定值时,系统会自动提示货架剩余量过低,请及时补货。在补货功能界面输入商品编码,会显示现在商品余量,添加补货数量即可。3.同类商品销售分析:根据每日录入的销量,可以自动对销量进行累加,可以查询同类商品的累计销售额及销售量,由此可以轻易得出同类商品哪些比较受欢迎,确定销售进货侧重商品种类。 4 系统功能演示4.1 关于界面设计追求简约清晰的界面。4.2 系统功能演示开始进入初始化界面 登陆界面 工作人员界面 (密码:222222)主管登陆界面(密码:111111)菜单一:商品信息管理界面 商品添加界面商品删除界面 按名称删除 按编码删除 商品信息修改界面 商品浏览界面 货架管理界面 商品销量录入(依次录入) 补货功能界面 商品销量清零 商品销售管理界面 单品日销售额查询 累计销售总额查询界面 同类商品销量分析 (需手动录入商品销售额) 5 小组分工学号姓名职责占百分比重1412440112谢宗恒编写代码及程序调试35%1412120132罗超编写代码及程序调试35%1412480306郑佳文档文件编写及程序调试30% 6 总结通过这次C语言短学期的项目开发,我们充分认识到了团队的重要性,人无完人,每个人都有不足之处,一人不足之处其他人补,方能高效的完成任务。C语言是一门严谨的科学,一处不起眼的错误就可能导致全盘的崩溃,而且系统软件的架构安排,数据结构的选择,以及多种功能的实现使得我们必须小心编写,一遍一遍查漏补缺,从而使系统功能可以正常使用,编码无错误后,会小心改动,优化系统。 这次短学期项目锻炼了我们的团队协作能力,也使得我们的思维更加严谨,对于结构有更好的理解,但由于时间匆忙,所以只是列了超市一小部分用于测试功能是否实现,逻辑是否正确,要想做成完整的超市销售管理系统,我们还需多加努力。 7 完整源代码/*/* Name: 超市商品管理 */* Author: 罗超 */* 郑佳 */* 谢宗恒 */* Version: 3.0 */*/#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define line_1 "-"#define line_2 ""#define line_3 "*-/-*-/-*-/-*-/-*-/-*-/-*-/-*-/-*"#define line_4 "(o)(o)(o)(o)(o)(o)"#define NULL (void *)0)#define LEN sizeof(struct goods)int quanxian;int number100;struct goods char code6; /商品编码 char type5; /商品种类 char name10; /商品名称 float price; /商品价格 int num; /货架余量 int limited_num; /限定量(低于此值自动提醒补货) int sale_num; /累计销售量 struct goods *next;go;struct goods *create() /创建链表 struct goods *p,*q,*head; p=head=&go;q=p; FILE *fp; if(fp = fopen("goods.txt", "r") = NULL)fprintf(stderr,"无法打开文件");exit(0); fscanf(fp,"%s%s%s%f%d%d%d",(head->code),(head->type),(head->name),&(head->price),&(head->num),&(head->limited_num),&(head->sale_num); head->next=p;while (!feof(fp) q=(struct goods *)malloc(LEN); fscanf(fp,"%s%s%s%f%d%d%d",(q->code),(q->type),(q->name),&(q->price),&(q->num),&(q->limited_num),&(q->sale_num); if (feof(fp) break; p->next=q; p=p->next; p->next=NULL;fclose(fp); return head;int login();void menu();void menu_();void menu_1(); /菜单一:商品信息管理void menu_2(); /菜单二:货架管理void menu_3(); /菜单三:商品销售管理void goods_research();void name_research(); /按名称查询void code_research(); /按编码查询void goods_add(); /商品添加void delete(); /商品删除void code_delete();void name_delete();void modification(); /商品信息修改void scan(); /商品浏览void sales_entry(); /商品销量录入void add_number(); /货架商品数量添加(补货)void sale_reset(); /销售量清零void sale_good(); /单品日销售额void sale_goods(); /日销售总额void analyse(); /同类商品分析void main() system("color 3E"); puts("n"); printf("%snn",line_4);puts("您好 t正在初始化系统,请稍等");puts("按任意键继续n");printf("%sn",line_4);getchar();fflush(stdin);system("cls");int i; i=login(); if(i=1)system("cls");menu(); if(i=2)system("cls");menu_();int login() int i=0;/权限判定 char password_220="222222"/主管密码 char password_120="111111"/工人密码 char password20; puts("请输入登陆密码:"); scanf("%s",&password); if(strcmp(password,password_1)!=0&&strcmp(password,password_2)!=0) printf("密码错误,请重新输入!"); system("cls"); login(); else if(strcmp(password,password_1)=0) i=1; system("cls"); quanxian=1; return i; else if(strcmp(password,password_2)=0) i=2; system("cls"); quanxian=2; return i; void menu() system("color 3E"); printf("%s nn",line_3); printf(" 欢迎进入超市商品管理系统nn"); printf(" %s nn",line_3); printf("请选择你要进入的管理界面:n"); printf("%s nn",line_2); printf("1.商品信息管理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; 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("cls");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();break; 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"); 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; 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%s",line_3); printf("n请选择查询方式:nn"); printf("1:商品名称n2:商品编码n"); printf("0:返回n"); int ch; scanf("%d",&ch); switch(ch) case 1:system("cls"); printf("n%sn",line_3); name_research();break; case 2:system("cls"); printf("n%sn",line_3); code_research();break; case 0: if(quanxian=1)system("cls");menu_1();break; if(quanxian=2)system("cls");menu_();break; void name_research() /按名称查询 fflush(stdin); struct goods *p; char name20 ; printf("请输入商品名称:"); printf("(输入字符aaaa进入商品信息浏览功能)n"); fflush(stdin); scanf("%s",name); char yan20="aaaa"/用于验证跳转 if(strcmp(yan,name)=0) system("cls"); scan(); p=create(); while(p!=NULL) if(strcmp(p->name,name)=0) printf("您所查的商品信息为:n") ; printf("编码 种类 名称 价格 货架余量n"); printf("%st%st%st%ft%d",p->code,p->type,p->name,p->price,p->num); break; else p=p->next; if(p=NULL) system("cls"); printf("您输入的商品有误,请重新输入:n"); return name_research(); return goods_research();void code_research() /按编码查询 fflush(stdin); struct goods *p; char code6 ; printf("请输入商品编码:"); printf("(输入字符aaaa进入商品信息浏览功能)n"); fflush(stdin); scanf("%s",code); char yan20="aaaa"/用于验证跳转 if(strcmp(yan,code)=0) system("cls"); scan(); p=create(); while(p!=NULL) if(strcmp(p->code,code)=0) printf("您所查的商品信息为:n") ; printf("编码 种类 名称 价格 货架余量n"); printf("%st%st%st%ft%d",p->code,p->type,p->name,p->price,p->num); break; else p=p->next; if(p=NULL) system("cls"); printf("您输入的商品有误,请重新输入:n"); fflush(stdin); return code_research(); return goods_research();void goods_add() /商品添加 fflush(stdin); struct goods *p,*q,*p0,*head,*m; char type6 ; printf("n%sn",line_3); printf("请输入添加商品种类:n"); scanf("%s",type); head=q=p=create(); while(p!=NULL) if(strcmp(p->type,type)=0) if(p->next=NULL|(strcmp(p->next->type,type)!=0) break; p=p->next;q=p->next; printf("%st%st%st%ft%dt%dt%dn",p->code,p->type,p->name,p->price,p->num,p->limited_num,p->sale_num); p0=(struct goods *)malloc(LEN); p->next=p0;p0->next=q; printf("请在该组数据后添加:n"); printf("编码 种类 名称 价格 货架余量 限定量 销售量n"); scanf("%s%s%s%f%d%d%d",(p0->code),(p0->type),(p0->name),&(p0->price),&(p0->num),&(p0->limited_num),&(p0->sale_num); FILE *fp; fp=fopen("goods.txt","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请选择:n"); printf("1:继续添加n"); printf("0:返回n"); int n; scanf("%d",&n); while(n!=1&&n!=0) printf("输入错误,请重新输入!n"); scanf("%d",&n); switch(n) case 1:system("cls");goods_add();break; case 0: if(quanxian=1)system("cls");menu_1();break; if(quanxian=1)system("cls");menu_();break; void modification() /商品修改 fflush(stdin); struct goods *p,*head; char name20 ;char ch; printf("n%sn",line_3); printf("请输入您想修改商品的名称:"); printf("(输入字符aaaa进入商品信息浏览功能)n"); fflush(stdin); scanf("%s",name); char yan20="aaaa"/用于验证跳转 if(strcmp(yan,name)=0) system("cls"); scan(); p=head=create(); while(p!=NULL) if(strcmp(p->name,name)=0) printf("您所将要修改的商品信息为:n") ; printf("编码 种类 名称 价格 货架余量 限定量 销售量n"); printf("%st%st%st%ft%dt%dt%d",p->code,p->type,p->name,p->price,p->num,p->limited_num,p->sale_num); break; else p=p->next; if(p=NULL) system("cls"); printf("您输入的商品有误,请重新输入:n"); return modification(); printf("n请选择:n"); printf("1:修改信息n2:返回n"); fflush(stdin); ch=getchar(); switch(ch) case'1':printf("请输入修改后的信息:n"); printf("编码 种类 名称 价格 货架余量 限定量 销售量n"); scanf("%s%s%s%f%d%d%d",(p->code),(p->type),(p->name),&(p->price),&(p->num),&(p->limited_num),&(p->sale_num); FILE *fp; fp=fopen("goods.txt","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);break; case'2': system("cls"); menu_1();break; printf("请选择:n"); printf("1:继续修改n"); printf("0:返回n"); int n; scanf("%d",&n); while(n!=1&&n!=0) printf("输入错误,请重新输入!n"); scanf("%d",&n); switch(n) case 1:system("cls");modification();break; case 0:system("cls");menu_1();break; void delete() /商品删除 fflush(stdin); printf("n%sn",line_3); printf("请选择:n"); printf("1:按名称查找删除n2:按编码查找删除n"); printf("0:返回n"); int n; scanf("%d",&n); switch(n) case 1:system("cls"); name_delete();break; case 2:system("cls"); code_delete();break; case 0: system("cls");menu_1();break; void name_delete() fflush(stdin); struct goods *p1,*p2,*head; char name20 ; printf("n%sn",line_3); printf("请输入商品名称:"); head=create(),p1=head,p2=p1; scanf("%s",name); while(p1!=NULL)

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开