中北大学信息管理系统课程设计小型超市管理系统_第1页
中北大学信息管理系统课程设计小型超市管理系统_第2页
中北大学信息管理系统课程设计小型超市管理系统_第3页
中北大学信息管理系统课程设计小型超市管理系统_第4页
中北大学信息管理系统课程设计小型超市管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中北大学信息管理系统课程设计一、绪论1.1超市背景 在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。 超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。苏辙超市形态的

2、高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。 1.2课题研究的目的和意义 (1)大大提高小型超市的运作效率。 (2)通过全面的信息采集和处理,辅助提高小型超市的决策水平。 (3)使用本系统,可以迅速提升小型超市的管理水平,为降低经营成本,提高效益,增强超市扩张能力, 提供有效的技术保障 。 1.3设计思想 (1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计作为应用程序,有较强的可操作性和扩展性。(3)合理的数据设计,在应用系统设计中

3、,相对独立的模块间以数据相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性 。1.4设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:(1)合法性原则:依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。(2)实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。(3)易操作原则:要求设计的系统

4、功能齐全,界面友好,操作方便,必要的地方进行提示。(5)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。1.5本文主要工作 第一章是绪论,主要写了小型超市发展的社会背景、超市本身的发展状况、系统开发的背景、课题研究的目的和意义以及本文的主要工作。 第二章是概要设计,主要写了设计思想、设计原则、系统模块概要设计以及系统操作流程概要设计 第三章是系统详细设计,主要写了系统功能详细设计、系统数据库设计、系统子模块功能的详细设计。 第四章是系统测试,主要写了系统的测试方法、系统的功能模块测试以及系统的整体测试。 第五章是心得体会,主要写了通过

5、本次课程设计自己发现的一些不足以及总结的一些经验。第六章是参考文献。二、概要设计2.1系统功能设计图系统功能设计图如图2.1 所示:图2.1超市管理系统功能结构2.2系统功能设计系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,辅助超市完成其目标。本系统共包括四大模块,分别人员管理模块,

6、销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:人员管理模块:(1)员工、会员、供货商、厂商等基本信息登记管理;(2员工操作权限管理。客户销售权限管理。销售管理模块功能:(1)完成销售商品的操作;(2)实现商品销售信息的盘点;(3)成商品利润的估计;(4)实现商品价值的统计;2.3采购管理模块功能:(1)实现进货信息的查询;(2)实现进货信息的更新,包括增加、删除、修改功能。2.4库存管理模块功能: (1)实现商品信息的查询;(2)实现商品信息的更新,包括增加、删除、修改功能;(3)实现库存信息的查询;(4)实现库存信息的更新,包括增加、删除、修改功能。三、详细设计3.1数据定义

7、使用C语言创建的结构体和定义的函数如下:struct produce_node int id;char name20;char produce30;int number;double price;double price1;struct produce_node *next;struct goodsint id;char name20;char produce30;int number;double price;double price1;struct goods *next;void shenfen();void caigou();void kucun();void xiaoshou();v

8、oid guanli();void lirun();void chushou(int count);void ruku();void goods_info_delete();void goods_info_amend();void goods_info_find();void goods_info_browse();void Endprogram();void zonghe();int panduan_ID(int id) ;struct produce_node * ruku_info_input();struct produce_node *produce_doc_creat();stru

9、ct produce_node *produce_doc_inser(struct produce_node *head,struct produce_node *produce);struct produce_node *produce_doc_delete(struct produce_node *head,int num);3.2源程序见附件:3.3调试分析在管理信息系统的生命周期中,仅过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统

10、实施的成果是系统分析和设计阶段的结晶。进入主界面如图3.1所示:图3.1 主界面 角色选择界面如图3.2所示:图3.2 角色选择界面 采购管理窗口如图3.3所示: 图3.3 采购管理窗口库存管理窗口如图3.4所示:图3.4 库存管理窗口销售管理窗口如图3.5所示:图3.5 销售管理窗口四、心得体会 在此次设计当中让我认识到开发一项好的软件不是某一个人就能完成的任务。一个团队的小组,一个勤奋的小组非常重要,沟通是解决问题的最好办法。所以小组中的每个成员的能力与协作能力也是至关重要的。同时,不仅是团队内部的交流,更多需要协调好团队之间的交流。其次呢,在实习中我了解到,在开发一个项目时一定要先做好规

11、划,按照软件的开发过程,详细地写好每一个必要的文档。由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,我们深表歉意,如发现还有其它问题,希望老师批评指正。通过此次编程培养了我们结构化程序设计的思想,加深了对高级语言基本语言要素和控制结构的理解,锻炼我们独立思考制作程序的能力,并且掌握了一些课程设计的相关知识与实践操作能力,为以后的学习提供了锻炼的机会。经过设计和开发,销售管理系统基本开发完毕以及各类相关报表的打印。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。从而是我对c语言这门课程有了更好的了解。五、参考文献1

12、姜灵芝,余健. C语言课程设计案例精编.北京:清华大学出版社,20082王新,孙雷. C语言课程设计.北京:清华大学出版社,20093游洪跃、彭骏、谭斌.C语言程序设计实验与课程设计教程.北京:清华大学出版社,20114王连相.C/C+程序设计上机指导与测试. 北京:中国铁道出版社,2006 5C语言函数手册,机械工业出版社,19996王勇领.计算机数据处理系统分析与设计.北京:清华大学出版社,2007.37张基温.信息系统开发案例.北京;清华大学出版社,2006.3附件:源程序#include<stdio.h>#include<stdlib.h>#include<

13、;string.h>#include<conio.h>struct produce_node int id;char name20;char produce30;int number;double price;double price1;struct produce_node *next;struct goodsint id;char name20;char produce30;int number;double price;double price1;struct goods *next;void shenfen();void caigou();void kucun();v

14、oid xiaoshou();void guanli();void lirun();void chushou(int count);void ruku();void goods_info_delete();void goods_info_amend();void goods_info_find();void goods_info_browse();void Endprogram();void zonghe();int panduan_ID(int id) ;struct produce_node * ruku_info_input();struct produce_node *produce_

15、doc_creat();struct produce_node *produce_doc_inser(struct produce_node *head,struct produce_node *produce);struct produce_node *produce_doc_delete(struct produce_node *head,int num);main()printf("nn");system("color 70");printf("t3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

16、3 3 3 3 3 3 3 3 3 3n");printf("t3 3n");printf("t3 3n");printf("t3 欢迎使用 3n");printf("t3 3n");printf("t3 3n");printf("t3 小型超市管理系统 3n");printf("t3 按任意键继续 3n");printf("t3 3n");printf("t3 3n");printf("t3 3

17、n");printf("t3 3n");printf("t3 3n");printf("t3 3n");printf("t3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3");getch();system("cls");shenfen(); void shenfen()int choice;printf("n【小型超市管理系统】n");printf("-请选择您的身份-&qu

18、ot;);printf("nt1=【 采购员 】n");printf("nt2=【 库存管理员 】n");printf("nt3=【 销售员 】n");printf("nt4=【 管理员 】n");scanf("%d",&choice);switch(choice)case 1:caigou();break;case 2:kucun();break;case 3:xiaoshou();break;case 4:guanli();break;default:printf("ntt

19、ttt输入无效,请您重新输入.");getch();system("cls");shenfen();void caigou() int choice;printf("n【小型超市管理系统】n");printf("-请选择采购模块功能-");printf("nt1=【 新购商品入库 】n");scanf("%d",&choice);if(choice=1) ruku();elseprintf("nttttt输入无效,请您重新输入.");getch();syst

20、em("cls");caigou(); void ruku() struct produce_node *i; struct produce_node j; char choice,choice1; FILE *fp; fp=fopen("goods.date","ab"); i=&j; if(fp=NULL)printf("ttt系统错误,请您重试.");exit(0); labID:printf("nt请您输入要入库商品的信息.n");printf("tttt 商品的编号:

21、");scanf("%d",&j.id);if(panduan_ID(j.id)=1)printf("tttt此编号已被使用,请您重新输入.n");goto labID;else printf("*此编号没有被使用您可以使用*n");i=ruku_info_input(); while(i!=NULL)fwrite(i,sizeof(struct produce_node),1,fp);i=i->next;fclose(fp);printf("tttttt 商品信息已入库成功!n");fre

22、e(i);printf("n您想继续录入采购信息吗?(y/n)");scanf(" %c",&choice);if(choice='Y'|choice='y')ruku();elsesystem("cls");caigou(); int panduan_ID(int id) FILE *fp;struct goods i;fp=fopen("goods.date","r");if(fp=NULL)printf("ttt系统错误,请您重试.&quo

23、t;);exit(0);fread(&i,sizeof(struct goods),1,fp);while(!feof(fp) if(i.id=id) fclose(fp);return 1;break;fread(&i,sizeof(struct goods),1,fp);fclose(fp);return 0;struct produce_node * ruku_info_input(void) int i=0; struct produce_node *head; struct produce_node *p; int id, choice,number;double p

24、rice,price1;char name20, produce 30;int size=sizeof(struct produce_node);doprintf("*您要录入信息吗?请选1,要退出录入吗?请输入0* n"); f:i+;scanf("%d",&choice);if(choice=0&&i<=1)head=NULL;switch (choice)case 1:head=produce_doc_creat();break;case 2: labID:printf("请输入: 产品序列号:n"

25、);scanf("%d",&id);if(panduan_ID(id)=1)printf("tttt此编号已被使用,请您重新输入.n");goto labID;elseprintf("*此编号没有被使用您可以使用*n");printf("请输入: 产品序列号n");scanf("%d",&id);printf("请输入: 商品名称n");scanf("%s",name);printf("请输入: 商品产地n");scan

26、f("%s",produce);printf("请输入: 商品数量n");scanf("%d",&number);printf("请输入: 商品进货价格n");scanf("%lf",&price);printf("请输入: 商品出售价格n");scanf("%lf",&price1);p=(struct produce_node*)malloc(size);p->number=number;strcpy(p->name

27、,name);p->price=price;p->price1=price1;p->id=id;strcpy(p->produce,produce);head=produce_doc_inser(head,p);break;case 3:printf("请输入商品序列号:n");scanf("%d",&id);head=produce_doc_delete(head,id);break;case 0:break;if(choice!=0)printf("您还要录入信息吗?请选2 n");printf(&

28、quot;您要删除刚刚录入的信息?请选3n");printf("您要停止录入吗?请选0n");goto f;while(choice!=0);if(head!=NULL) return head;elsereturn NULL;system("cls");caigou();struct produce_node*produce_doc_creat()struct produce_node *head,*p;int number;int id;double price;double price1;char name20;char produce3

29、0;int size=sizeof(struct produce_node);head =NULL;printf("请输入: 产品序列号n");scanf("%d",&id);printf("请输入: 商品名称n");scanf("%s",name);printf("请输入: 商品产地n");scanf("%s",produce);printf("请输入: 商品数量n");scanf("%d",&number);prin

30、tf("请输入: 商品进货价格n");scanf("%lf",&price);printf("请输入: 商品出售价格n");scanf("%lf",&price1);while(number!=0) p=(struct produce_node*)malloc(size);p->number=number;strcpy(p->name,name);strcpy(p->produce,produce);p->price=price;p->price1=price1;p-&

31、gt;id=id;head=produce_doc_inser(head,p);break;return head;struct produce_node* produce_doc_inser(struct produce_node *head,struct produce_node *produce) struct produce_node*ptr,*ptr1,*ptr2;ptr2=head;ptr=produce;if (head=NULL) head=ptr;head->next=NULL;elsewhile (ptr->id >ptr2->id)&&am

32、p;(ptr2->next !=NULL) ptr1=ptr2;ptr2=ptr2->next; if(ptr->id<=ptr2->id)if(head=ptr2) head=ptr;else ptr1->next=ptr; ptr->next=ptr2; else ptr2->next=ptr;ptr->next=NULL;return head; struct produce_node *produce_doc_delete(struct produce_node *head,int id) struct produce_node*p

33、tr1,*ptr2;while(head!=NULL&&head->id=id)ptr2=head;head=head->next;free(ptr2);if(head=NULL)printf("删除成功n");return NULL;ptr1=head;ptr2=head->next;while(ptr2!=NULL)if(ptr2->id=id)ptr1->next=ptr2->next;free(ptr2);elseptr1=ptr2;ptr2=ptr1->next;printf("删除成功n&quo

34、t;);return head; void kucun() int choice;printf("n【小型超市管理系统】n");printf("-请选择库存模块功能-");printf("nt1=【 商品信息删除 】n");printf("nt2=【 商品信息修改 】n");printf("nt3=【 商品信息查询 】n");printf("nt4=【 商品信息浏览 】n");scanf("%d",&choice);switch(choice)ca

35、se 1:goods_info_delete();break;case 2:goods_info_amend();break;case 3:goods_info_find();break;case 4:goods_info_browse();break;default:printf("nttttt输入无效,请您重新输入.");getch();system("cls");kucun();void goods_info_delete() struct goods i1000;struct goods temp;int delID;char choice;in

36、t index=0;int j=0;FILE *fp;fp=fopen("goods.date","r");if(fp=NULL)printf("ttt系统错误,请您重试.");exit(0);fread(&temp,sizeof(struct goods),1,fp);while(!feof(fp)iindex=temp;index+;fread(&temp,sizeof(struct goods),1,fp);fclose(fp);printf("nt请输入要删除的商品的编号:");scanf(

37、"%d",&delID);fopen("goods.date","w");if(fp=NULL)printf("ttt系统错误,请您重试.");exit(0);for( j=0;j<index;j+)if(ij.id!=delID)fwrite(&ij,sizeof(struct goods),1,fp); fclose(fp);printf("ttttt商品信息已清除!n");printf("n您想继续吗?(y/n)");scanf(" %c

38、",&choice);if(choice='Y'|choice='y')goods_info_delete();elsesystem("cls");kucun();void goods_info_amend() int index=0; int ID,j; char choice; struct goods i1000; structgoods temp;FILE *fp;fp=fopen("goods.date","r");if(fp=NULL)printf("ttt系统错

39、误,请您重试.");exit(0);fread(&temp,sizeof(struct goods),1,fp);while(!feof(fp)iindex=temp;index+;fread(&temp,sizeof(struct goods),1,fp);fclose(fp);fp=fopen("goods.date","w");if(fp=NULL)printf("ttt系统错误,请您重试.");exit(0);printf("nt请输入要修改的信息的商品的编号:");scanf(&

40、quot;%d",&ID);for(j=0;j<index;j+)if(ij.id!=ID)fwrite(&ij,sizeof(struct goods),1,fp);elseprintf("tt商品名称修改为:");scanf("%s",);printf("tt商品生产地修改为:");scanf("%s",duce);printf("tt商品数量修改为:");scanf("%d",&ij.number);pr

41、intf("tt商品进货单价修改为:");scanf("%lf",&ij.price);printf("tt商品出售单价修改为:");scanf("%lf",&ij.price1);fwrite(&ij,sizeof(struct goods),1,fp);fclose(fp);printf("tttt商品信息已修改.");printf("n您想继续吗?(y/n)");scanf(" %c",&choice);if(choi

42、ce='Y'|choice='y')goods_info_amend();elsesystem("cls");kucun();void goods_info_find() int a=0;FILE *fp;int findID;char choice;struct goods i;fp=fopen("goods.date","r");if(fp=NULL)printf("ttt系统错误,请你重试.");exit(0); printf("nt请输入要查询的商品的编号.&quo

43、t;);scanf("%d",&findID);fread(&i,sizeof(struct goods),1,fp);while(!feof(fp)if(i.id=findID)a=1;printf("nnt*商品信息*");printf("nt商品编号.%30dn",i.id);printf("nt-");printf("nt商品名称.%30sn",);printf("nt-");printf("nt生产厂家.%30sn",

44、duce);printf("nt-");printf("nt进口数量.%30dn",i.number);printf("nt-");printf("nt进货价格.%30.3fn",i.price);printf("nt-");printf("nt出售价格.%30.3fn",i.price1);printf("nt-");printf("n您想继续吗?(y/n)");scanf(" %c",&choi

45、ce);if(choice='Y'|choice='y')goods_info_find();elsesystem("cls");kucun();fread(&i,sizeof(struct goods),1,fp);fclose(fp);if(a!=1)printf("ttttt输入的编号不存在,请您重新输入.");printf("n您想继续吗?(y/n)");scanf(" %c",&choice);if(choice='Y'|choice=

46、9;y')goods_info_find();elsesystem("cls");kucun();void goods_info_browse() struct goods i; int index=0;char choice;FILE *fp;fp=fopen("goods.date","r");if(fp=NULL)printf("ttt系统错误,请你重试.");exit(0);fread(&i,sizeof(struct goods),1,fp);while(!feof(fp)printf("nnt*商品信息%d*",+index);printf("nt商品编号.%30dn",i.id);printf("nt-");printf("nt商品名称.%30sn",);printf("nt-");printf("nt生产厂家.%30sn",duce);print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论