《《精编》某学院销售管理课件设计分析报告》由会员分享,可在线阅读,更多相关《《精编》某学院销售管理课件设计分析报告(29页珍藏版)》请在金锄头文库上搜索。
1、湖北汽车工业学院电气与信息工程学院 C语言程序设计课设报告 项目: 商品销售管理 班级: 姓名: 成绩: 一、需求分析1、问题根据需求,该系统所应包含的信息有以下一些:商品的基本信息:商品编号,商品名称,商品产地,商品库存。顾客的基本信息:顾客代码,购买数量,销售日期根据需求,该系统所应实现的功能有以下一些:各种基本数据的录入。如:销售基本信息录入。基于各种数据的查询。例如输入张三姓名,查询顾客张三的销售信息。数据导出:将销售中信息导出到指定文件。2、系统 采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。3、运行要求 能不受限制的录入销售信息 界面友好,操作方便
2、,例如删除前需要提示用户是否删除 容错性强,例如数据导出时,如果文件不存在需要提示用户。 二、总体设计1、系统流程设计根据系统要求,设计如下的系统流程2、系统模块设计根据系统的功能设计,如下模块销售系统输入顾客购买货物的信息并保存根据产品编号查询产品的销售历史计算时间段内各个产品的销售总额根据顾客姓名查询购买历史显示所有顾客的姓名读入货物当前库存信息并显示主界面模块:完成系统菜单的显示功能选择模块:根据用户的选择,完成其相应的功能。商品信息录入:完成用户从文件读入库存信息。销售信息录入:完成用户从界面输入销售信息。根据编号查询历史:完成用户从界面输入商品编号,在系统查询符合条件的销售信息,并在
3、界面上显示的功能。根据顾客查询历史:完成用户从界面输入顾客姓名,查询该客户的购买历史。显示顾客姓名:完成用户从界面查看所有顾客姓名。三、详细设计1、数据结构设计根据系统要求,系统中需要保存的数据有商品,销售和顾客的信息,其结构如下:数据项名称数据项系统表示数据类型数据长度备注产品编号num整型4产品名称name字符串20产品价格price浮点型4产品产地prodplace字符串40产品库存amount整型4初始1000由于知道商品有10种,则采用结构体数组来保存商品信息使用C语言创建的结构体(和结构体数组)如下:struct production_listint num;char name20
4、;float price;char prodplace40;int amount;production10;为了能实现不受限制的保存和查看销售信息,采用链表的结构保存销售的信息,在增加销售的基本信息时,创建一个销售的节点,将其插入到链表中,其数据结构如下:数据项名称数据项系统表示数据类型数据长度备注顾客代码num整型4顾客姓名name字符型10产品名称pro_name字符型20销售数量amount整型4销售日期time字符型10使用C语言创建的结构体如下:struct sell_information int num;char name10;char pro_name20;int amount
5、; char time10; struct sell_information *next;2、界面设计主界面:根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将在每个菜单前显示该菜单项对应的数字用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。读入产品信息界面: 在光标下输入销售的信息,用空格将信息隔开销售界面:输入销售信息,保存在链表中。根据产品编号查询产品销售历史界面:计算各个时段的销售额界面: 输入起始时间和终止时间计算销售额根据顾客姓名查询购买历史界面:输入顾客姓名,即导出顾客购买信息。顾客姓名显示:选择该功能将显示所有顾客
6、姓名3、模块实现主界面实现:主函数中用printf(tt*T1023-9徐孟玲*tt”);printf(tt*T1023-9徐孟玲*tt”);printf(tt*t1.读入产品当前库存信息并显示 *nn);printf(tt*t2.键盘输入顾客购买产品的信息并保存 *nn);printf(tt*t3.根据产品编号查询产品销售历史 *nn);printf(tt*t4.计算各时间段产品销售总额 *nn);printf(tt*t5.根据顾客姓名查询购买历史 *nn);printf(tt*t6.显示所有顾客姓名 *nn);printf(tt*t7.显示当前仓库信息 *nn);printf(tt*t0.
7、退出查询系统 *nn);printf(tt*n);printf(nn);printf(tt请输入你的选择:);实现。scanf(%d,&choice);printf(n*n);switch(choice)case 1:system(cls);Readdata();break;case 2:system(cls);head=sell(head);break;case 3:system(cls);getshopingdata(head);break;case 4:system(cls);sell_total(head);break;case 5:system(cls);getnamedata(he
8、ad);break;case 6:system(cls);list_custome(head);break;case 7:system(cls);list_store();break;进行功能选择。定义新节点打印主界面选择功能实现各个功能退出程序模块流程:对应函数:void main()读入产品当前库存模块实现:模块说明:从文件中读取已经写好的产品信息,存入数组production10模块流程:打开产品信息文件数据写入相应成员关闭文件回主菜单i10假真 对应函数:void Readdata()键盘输入顾客购买产品的信息模块实现:模块说明:从键盘按提示输入销售信息,并且存入链表中,在输入的时候调
9、用判断函数来判断输入数据的合法性,以确保数据存储的正确性。模块流程:代入头结点存入结点回主菜单flag假真键入销售信息continue真假对应函数:struct sell_information * sell(struct sell_information *head)判断输入信息模块实现:模块说明:对输入的数据进行合法性判断,若不合法,提示用户重新输入模块流程:代入销售信息判断编号判断日期判断每月的天数判断闰年全真有假flag=1flag=0返回flag判断库存对应函数:int DateAmountProname(struct sell_information *p)判断编号模块:模块说明:
10、对销售功能中输入的编号与productin10.num进行对比,如果存在,返回1,不存在则返回0。编号存入a10i=0回主菜单i10假真c= strcmp(a,productioni.namec真假flag=1flag=0模块流程:对应函数:int judge_proname(char *p)判断库存量模块:模块说明:对当期仓库信息进行判断,若超出库存量返回0,否则返回1。库存量存入a10i=0回主菜单i10假真c= strcmp(a,productioni.namec真假flag=1flag=0对应函数:int jugde_amount(int amount,char *p)判断日期模块:模
11、块说明:把日期的年月日进行分别判断,还有对每个月,以及闰年对二月的影响等做出相应的判断。年月日分别存入all_year,all_month,all_day回主菜单all_month=1,3,5,7,8,10,12假真all_day=31all_month=2真假all_day=28all_day=30all_year闰年all_day=29真假flag=1flag=0真假对应函数:int Judge_date(char *p)int NumberDay(int Complete_year,int Complete_month,int Complete_day)int Isleapyear(int year)根据产品编号查询产品销售历史模块:模块说明:输入产品编号,查看该