《服装网店信息管理系统.docx》由会员分享,可在线阅读,更多相关《服装网店信息管理系统.docx(117页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-1-页 共117页第-1-页 共 117 页华中科技大学计算机科学与技术学院华中科技大学计算机科学与技术学院C C 语言程序设计课程设计语言程序设计课程设计实验报告实验报告题目:题目:服装网店信息管理系统服装网店信息管理系统专业:专业:计算机科学与技术计算机科学与技术班级:班级:学号:学号:姓名:姓名:成绩:成绩:指导教师:指导教师:李开李开完成日期:完成日期:2012 年年 0303 月月 2626 日日编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤
2、为径,学海无涯苦作舟页码:第-2-页 共117页第-2-页 共 117 页一、一、系统功能模块结构系统功能模块结构服装网店信息管理系统由五大功能模块组成:文件模块,数据维护,数据查询,数据统计,帮助系统。其中,数据维护模块包括对服装分类信息,服装基本信息,服装销售信息的录入、修改和删除;数据查询模块包括对分类代码的查询,对服装基本信息的查询(包括按名称查找和按分类码加价格查找),对服装销售信息的查询(包括按客户名称加销售日期和按服装名称加评价指数查找);数据统计模块包括对服装具体销售类别的统计,年销售信息的统计,按客户名称统计,按季度统计和按式样统计。具体如下图所示:服装网店信息管理系统文件系
3、统数据维护数据查询数据统计数据保存数据备份数据恢复数据录入数据修改数据删除分类编码查询服装基本信息查询服装销售信息查询服装具体销售情况年销售统计式样销售情况统计退出系统季度统计按客户名称统计帮助系统帮助系统关于主题编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-3-页 共117页第-3-页 共 117 页图图 1.系统功能模块示意图系统功能模块示意图下图为具体功能模块:下图为具体功能模块:数据维护数据录入数据修改数据删除分类代码的录入服装基本信息的录入服装销售信息的录入分类代码的修改服装基本信息的修改服装销售信息的修改分类代码的删除
4、服装基本信息的删除服装销售信息的删除图图 2.数据维护模块功能示意图数据维护模块功能示意图编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-4-页 共117页第-4-页 共 117 页数据查询分类编码查询服装基本信息查询服装销售信息查询按服饰名称中字符子串来查找以分类码和单价为条件查找以客户名称和销售日期为条件查找以服饰名称和客户评价为条件查找图图 3.数据查询模块功能示意图数据查询模块功能示意图文件系统主模块包括三个子模块:数据保存、数据备份、数据恢复、退出系统;数据维护主模块包括三个子模块:数据录入、数据修改、数据删除;数据查询主
5、模块包括三个子模块:服装分类信息查询、服装基本信息查询、服装销售信息查询;数据统计主模块包括五个子模块:服装具体销售情况、年销售统计、按客户名称统计、季度统计、式样销售情况统计;帮助系统主模块有三个子模块:帮助系统、关于。二、二、数据结构设计及用法说明数据结构设计及用法说明服装网店信息管理系统服装网店信息管理系统对淘宝网上某服装店的销售信息进行管理,主要包括服装分类信息,服装基本信息,服装销售基本信息等三类信息。服装分类信息参考:中文字段名中文字段名类型及长度类型及长度举例举例分类编码char15分类名称char105 个分类名称:外套、内搭、下装、套装和特色服装服装基本信息参考:中文字段名中
6、文字段名类型及长度类型及长度举例举例分类码char1/表示外套类服装编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-5-页 共117页第-5-页 共 117 页服饰名称char30“马克华菲羽绒服”式样char0、1、9分别表示男式、女式和中性单价float128.00/单位:元售出件数int根据销售情况计算件数,不用输入。评价指数float根据用户评价计算平均指数,不用输入。服装销售基本信息:中文字段名中文字段名类型及长度类型及长度举例举例服饰名称char30“长袖针织衫套头线衣”销售日期char10“20090222”年(4)+
7、月(2)+日(2)客户名称char20“张三”客户评价int15:很差、差、一般、好、很好服装网店信息管理系统数据结构用法:该系统的数据结构是采用十字交叉链表。十字交叉链表的模型如下:链表说明:以后进先出的方式创建十字交叉链表,查找功能遍历链表找到相应的节点,插入功能和删除功能分别在指定地方增加或删除节点,修改功能修改相应的节点,统计功能为遍历链表进行编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-6-页 共117页第-6-页 共 117 页排序和输出三、程序结构(流程图)三、程序结构(流程图)1、插入结点信息流程图(插入服装分类信
8、息与服装基本信息与此大致相同)编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-7-页 共117页第-7-页 共 117 页开始TYPE_NODE*p=gp_head,*pd;CLO_NODE*pp,*fp;SELL_NODE*pm;int n;n=1?插入服装分类信息Yn=2?N插 入 服 装 基 本信息n=3?Y输出“输入有误”NN输入服装名称查找到对应信息?提示“未找到信息”N输入对应信息Ypm-next=fp-cnext;fp-cnext=pm;结束编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路
9、勤为径,学海无涯苦作舟页码:第-8-页 共117页第-8-页 共 117 页2、修改/删除结点信息流程图(插入服装分类信息与服装基本信息与此大致相同)编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-9-页 共117页第-9-页 共 117 页开始TYPE_NODE*pt;CLO_NODE*pc;SELL_NODE*ps;char s30;int n;n=1?修改对应的服装分类信息Yn=2?N修改对应服装基本信息Y输入要修改的服装名称N查找到对应信息?提示信息错误Y输入要修改信息的客户名称N查找到对应信息?提示信息错误N结束修改信息Y
10、n=3?提示信息错误NY编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-10-页 共117页第-10-页 共 117 页3、数据统计流程图编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-11-页 共117页第-11-页 共 117 页TYPE_NODE*pt;CLO_NODE*pc;SELL_NODE*ps;pt!=NULL/pt=head;结束统计Npc=pt-snext;Ypc!=NULL?结束统计Nps=pc-cnext;ps!=NULL?结束统计N遍历链表,对指定
11、数据进行统计Y排序并输出结束开始编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-12-页 共117页第-12-页 共 117 页四、各模块的功能四、各模块的功能1LoadDate:将代码表和三类基础数据从数据文件载入到内存缓冲区和十字链表中。2CreatList:从数据文件读取基础数据,并存放到所创建的十字链表中。3SaveSysDate:保存系统代码表和三类基础数据。4ExitSys:退出系统。5Insert:实现数据的录入,可以进行选择:1、对服装分类信息的录入;2、对服装基本信息的录入;3、对服装销售信息的录入。6Modify
12、_info:实现数据的修改,可以进行选择:1、对服装分类信息的修改;2、对服装基本信息的修改;3、对服装销售信息的修改。7Dele_info:实现数据的删除,可以进行选择:1、对服装分类信息的删除;2、对服装基本信息的删除;3、对服装销售信息的删除。8Seek:实现数据的查找。输入要查找的信息,遍历链表进行查找。可以进行选择:1、输入分类编码对服装分类信息进行查找;2、输入服饰名称对服装基本信息进行查找;3、输入顾客名称对服装销售信息进行查找。9Seek_Clo_Name:输入服装名称包含的子串对相应的服装信息进行查找并输出。10Seek_IDPrice:输入服装分类代码和相应的价格对相应的服
13、装信息进行查找并输出。11Seek_Sell_Name:输入服装销售顾客姓名和销售日期对相应的服装销售信息进行查找并输出。12Seek_Sell_NamePj:输入服饰名称和相应的评价指数对相应的服装销售信息进行查找并输出。13State_Type:分别统计各类服装销售总件数、销售总额、客户评价3 的件数及客户评价3 的件数,按销售总额降序排序输出。14State_Year:以所输入的年份为条件,按服饰名称统计该年度内所售各款服装的售出件数。销售金额、评价指数,按售出件数降序排序输出。15State_Kehu:按客户名称统计各客户所购服装件数、消费总金额、对所购服装的总体评价度并输出。16St
14、ate_Spring,State_Summer,State_Autumn,State_Winter:分别统计春夏秋冬四个季度售出的各类服装的总件数和总金额并输出。17State_Shiyang:根据式样(男式,女式,中性)统计服装的销售量和销售额并输出。18HelpTopic:系统帮助。19AboutDorm:关于主题。五、试验结果(包括输入数据和输出结果)五、试验结果(包括输入数据和输出结果)输入数据:(1)服装分类信息:)服装分类信息:分类编码1234分类名称外套内搭下装套装(2)服装基本信息)服装基本信息编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径
15、,学海无涯苦作舟页码:第-13-页 共117页第-13-页 共 117 页分 类码1112233344服 饰名称马克华菲羽绒服雪中飞羽绒服李宁运动外衣恒 源祥 羊毛衫耐 克毛衣李 宁运 动短裤森 马短裤英 雄牛 仔裤米 老鼠 套装情 侣套装式样0190919011单价12315616698886377111222333(3)服装销售信息)服装销售信息服饰名称马克华菲羽绒服马克华菲羽绒服雪中飞羽绒服李宁运动外衣恒源祥羊毛衫李宁运动短裤森马短裤米老鼠套装情侣套装销售日期20090909201010102012121220110505201103032012111120090707201108082
16、0111111客户名称张三李四赵四王二朱六李四张三十六周七评价指数4252135441初始化界面编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-14-页 共117页第-14-页 共 117 页2系统主界面编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-15-页 共117页第-15-页 共 117 页3服装销售信息插入界面编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-16-页 共117页第-16-页 共 117
17、 页成功提示:4服装基本信息修改界面、编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-17-页 共117页第-17-页 共 117 页5根据服装名称查询服装基本信息6按分类码和价格查找服装基本信息编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-18-页 共117页第-18-页 共 117 页7按客户姓名和销售日期查询服装销售信息8按服饰名称和客户评价查找服装销售信息编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第
18、-19-页 共117页第-19-页 共 117 页9服装具体销售情况统计(按销售总额降序排序)编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-20-页 共117页第-20-页 共 117 页10年销售统计11按客户名称统计编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-21-页 共117页第-21-页 共 117 页12按季度统计编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-22-页 共117页第-22-页
19、共 117 页13式样销售情况14销售信息删除结点编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-23-页 共117页第-23-页 共 117 页15帮助系统16关于主题编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-24-页 共117页第-24-页 共 117 页六、体会六、体会课程设计的结束也标志这 C 语言的学习告一段落,本次课程设计我感觉最大的收获就是对 C 语言有了更深刻的体会,也从中学习了好多有关 C 语言的知识。当然中途也遇到了好多瓶颈,最开始做这份课程设计
20、时,不知道应该从何下手,从哪里做起,于是就一点点的照着书看,一点点想,一个函数一个函授慢慢地写慢慢地调试。因为老师给了一些关于界面的代码,所以在文本界面这方面就方便了许多(本次课程设计是学习 C 语言过程中第一次接触文本界面,简单易操作,界面通俗易懂,着实方便!)但是因为掌握的还是不够熟练,界面可能还是会略显粗糙,代码不够完善,界面有些地方可能设计的不够合理,有些瑕疵。本次课程设计过程中也曾遇到了好多问题,当时手里也没有参考资料,于是就自己一点一点慢慢调试,耐心和同学们讨论,每当解决一个问题内心就会兴奋不已,感觉离胜利又近了一步。当程序运行不下去时,我内心也会非常的沮丧,但最后还是硬着头皮挺了
21、过来,当最后所有的功能都基本实现,程序正常运行时,内心简直有种前所未有的成就感!这次课程设计对我来说是一个不小的挑战,收获也是非常多的。有句话说得好:只要功夫深,铁杵磨成针!每当遇到问题想要放弃时,一定要坚持下来,耐心的一点点去解决,运用自己灵活的智慧最后还要感谢李老师的耐心教导和帮助以及在课设过程中给予我帮助的同学们。编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-25-页 共117页第-25-页 共 117 页七、参考文献七、参考文献C 语言实验与课程设计 李开,卢萍,曹计昌编著 科学出版社C 语言程序设计曹计昌,卢萍,李开编著
22、.科学出版社附录:源程序清单附录:源程序清单qjy.h#include#include#include#include#include#include#include#include#include#include#include#ifndef TYPE_H_INCLUDED#define TYPE_H_INCLUDED#define SCR_ROW 25/*屏幕行数*/#define SCR_COL 80/*屏幕列数*/*服装销售信息链结点结构*/typedef struct sell_node char clo_id12;/*分类编码*/char name30;/*服饰名称*/char d
23、ate12;/*销售日期*/char kehu10;/*客户名称*/int pj;/*客户评价*/编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-26-页 共117页第-26-页 共 117 页struct sell_node*next;/*指向下一结点的指针*/SELL_NODE;/*服装基本信息链结点结构*/typedef struct clo_node char clo_id12;/*分类编码*/char name30;/*服装名称*/char shiyang;/*式样*/float danjia;/*单价*/intnum;/
24、*售出件数*/float pj;/*评价指数*/struct sell_node*cnext;/*指向缴费信息支链的指针*/struct clo_node*next;/*指向下一结点的指针*/CLO_NODE;/*服装基本信息链结点结构*/typedef struct type_node char clo_id12;/*分类编码*/char name30;/*服装名称*/struct clo_node*snext;/*指向缴费信息支链的指针*/struct type_node*next;/*指向下一结点的指针*/TYPE_NODE;/*屏幕窗口信息链结点结点结构*/typedef struct
25、 layer_node char LayerNo;/*弹出窗口层数*/SMALL_RECT rcArea;/*弹出窗口区域坐标*/CHAR_INFO*pContent;/*弹出窗口区域字符单元原信息存储缓冲区*/char*pScrAtt;/*弹出窗口区域字符单元原属性值存储缓冲区*/struct layer_node*next;/*指向下一结点的指针*/LAYER_NODE;/*标签束结构*/typedef struct labe1_bundle 编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-27-页 共117页第-27-页 共
26、117 页char*ppLabel;/*标签字符串数组首地址*/COORD*pLoc;/*标签定位数组首地址*/int num;/*标签个数*/LABEL_BUNDLE;/*热区结构*/typedef struct hot_area SMALL_RECT*pArea;/*热区定位数组首地址*/char*pSort;/*热区类别(按键、文本框、选项框)数组首地址*/char*pTag;/*热区序号数组首地址*/int num;/*热区个数*/HOT_AREA;unsigned long num_written;/*Win 7 中使用,该变量用于某几个控制台输出函数*/LAYER_NODE*gp_
27、top_layer=NULL;/*弹出窗口信息链链头*/TYPE_NODE*gp_head=NULL;/*主链头指针*/TYPE_NODE*findt,*pt;/*定义的外部变量,用于修改、删除、查询等等*/CLO_NODE*findc,*pc;SELL_NODE*finds,*ps;char*gp_sys_name=服装网店信息管理系统;/*系统名称*/char*gp_clo_info_filename=clo.dat;/*服装基本信息数据文件*/char*gp_sell_info_filename=sell.dat;/*服装销售信息数据文件*/char*gp_type_info_filen
28、ame=type.dat;/*服装分类信息数据文件*/char*gp_shiyang_code_filename=shiyang.dat;/*式样代码数据文件*/char*gp_clo_type_code_filename=clo_type.dat;/*服装类别代码数据文件*/char*ga_main_menu=文件(F),/*系统主菜单名*/数据维护(M),数据查询(Q),数据统计(S),帮助(H);char*ga_sub_menu=/*系统子菜单名*/S 数据保存,B 数据备份,编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-2
29、8-页 共117页第-28-页 共 117 页R 数据恢复,X 退出Alt+X,/*空串用来在弹出菜单中分隔子菜单项,下同*/D 服装分类信息,P 服装基本信息,C 服装销售基本信息,D 服装分类信息,P 服装基本信息,C 服装销售基本信息,I 服装具体销售情况,T 年销售统计,C 按客户名称统计,U 季度统计,V 式样销售情况,T 帮助主题,A 关于.;int ga_sub_menu_count=4,3,3,5,3;/*各主菜单项下子菜单的个数*/int gi_sel_menu=1;/*被选中的主菜单项号,初始为 1*/int gi_sel_sub_menu=0;/*被选中的子菜单项号,初始
30、为 0,表示未选中*/CHAR_INFO*gp_buff_menubar_info=NULL;/*存放菜单条屏幕区字符信息的缓冲区*/CHAR_INFO*gp_buff_stateBar_info=NULL;/*存放状态条屏幕区字符信息的缓冲区*/char*gp_scr_att=NULL;/*存放屏幕上字符单元属性值的缓冲区*/char*gp_shiyang_code=NULL;/*存放式样代码表的数据缓冲区*/char*gp_clo_type_code=NULL;/*存放服装类别代码表的数据缓冲区*/char*gp_type_code=NULL;/*存放服装分类代码表的数据缓冲区*/char
31、*gp_clo_code=NULL;/*存放服装基本信息代码表的数据缓冲区*/char*gp_sell_code=NULL;/*存放服装销售信息代码表的数据缓冲区*/char gc_sys_state=0;/*用来保存系统状态的字符*/unsigned long gul_shiyang_code_len=0;/*式样代码表长度*/unsigned long gul_clo_type_code_len=0;/*服装类别代码表长度*/unsigned long gul_type_code_len=0;/*服装分类代码表长度*/unsigned long gul_sell_code_len=0;/*
32、服装销售代码表长度*/编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-29-页 共117页第-29-页 共 117 页unsigned long gul_clo_code_len=0;/*服装基本信息代码表长度*/HANDLE gh_std_out;/*标准输出设备句柄*/HANDLE gh_std_in;/*标准输入设备句柄*/int LoadCode(char*filename,char*ppbuffer);/*代码表加载*/int CreatList(TYPE_NODE*pphead);/*数据链表初始化*/void Init
33、Interface(void);/*系统界面初始化*/void ClearScreen(void);/*清屏*/void ShowMenu(void);/*显示菜单栏*/void PopMenu(int num);/*显示下拉菜单*/void PopPrompt(int num);/*显示弹出窗口*/int DealInput(HOT_AREA*pHotArea,int*piHot);void PopUp(SMALL_RECT*,WORD,LABEL_BUNDLE*,HOT_AREA*);/*弹出窗口屏幕信息维护*/void PopOff(void);/*关闭顶层弹出窗口*/void Draw
34、Box(SMALL_RECT*parea);/*绘制边框*/void LocSubMenu(int num,SMALL_RECT*parea);/*主菜单下拉菜单定位*/void ShowState(void);/*显示状态栏*/void TagMainMenu(int num);/*标记被选中的主菜单项*/void TagSubMenu(int num);/*标记被选中的子菜单项*/int DealConInput(HOT_AREA*phot_area,int*pihot_num);/*控制台输入处理*/void SetHotPoint(HOT_AREA*phot_area,int hot_
35、num);/*设置热区*/void RunSys(TYPE_NODE*pphd);/*系统功能模块的选择和运行*/BOOL ExeFunction(int main_menu_num,int sub_menu_num);/*功能模块的调用*/void CloseSys(TYPE_NODE*phd);/*退出系统*/void gotoxy(int x,int y);BOOL LoadData(void);/*数据加载*/BOOL SaveData(void);/*保存数据*/BOOL Input(void);/*数据输入*/BOOL BackupData(void);/*备份数据*/BOOL R
36、estoreData(void);/*恢复数据*/BOOL ExitSys(void);/*退出系统*/BOOL HelpTopic(void);/*帮助主体*/BOOLAboutDorm(void);/*关于系统*/BOOL MaintainTypeInfo(void);/*维护服装分类信息*/BOOL MaintainCloInfo(void);/*维护服装基本信息*/BOOL MaintainSellInfo(void);/*维护服装销售信息*/CLO_NODE*SeekCloNode(TYPE_NODE*hd,char*name);/*查询服装基本信息对应结点*/编号:时间:2021
37、年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-30-页 共117页第-30-页 共 117 页BOOL QueryTypeInfo(void);/*查询服装分类信息*/BOOL QueryCloInfo(void);/*查询服装基本信息*/BOOL QuerySellInfo(void);/*查询服装销售信息*/BOOL StatType(void);/*统计各类服装销售情况*/BOOL StatYear(void);/*年销售量统计*/BOOL StatKehu(void);/*客户信息统计*/BOOL StatSeason(void);/*季度销售
38、统计*/BOOL StatAverage(void);/*按式样进行统计*/BOOL SaveSysData(TYPE_NODE*phd);/*保存系统数据*/BOOL BackupSysData(TYPE_NODE*phd,char*filename);/*备份系统数据*/BOOL RestoreSysData(TYPE_NODE*pphd,char*filename);/*恢复系统数据*/BOOL ShowModule(char*pString,int n);void Insert(int n);/*数据插入*/void Seek(int n,char*s);/*数据查找*/void De
39、le_info(int n);/*数据删除*/void Modify_info(int n);/*数据修改*/void Seek_Clo_Name(TYPE_NODE*head);/*根据服装名称子串查询*/void Seek_IDPrice(TYPE_NODE*head);/*根据服装分类码和单价查询*/void Seek_Sell_Name(TYPE_NODE*head);/*根据客户名称和销售日期查询*/void Seek_Sell_NamePj(TYPE_NODE*head);/*根据服装名称和评价指数查询*/void State_Type(TYPE_NODE*head);/*统计各类
40、古装销售情况*/void State_Kehu(TYPE_NODE*head);/*客户信息统计*/void State_Spring(TYPE_NODE*head);/*统计春季销售情况*/void State_Summer(TYPE_NODE*head);/*统计夏季销售情况*/void State_Autumn(TYPE_NODE*head);/*统计秋季销售情况*/void State_Winter(TYPE_NODE*head);/*统计冬季销售情况*/void State_Year(TYPE_NODE*head);/*年销售统计*/void State_Shiyang(TYPE_N
41、ODE*head);/*统计各种式样销售信息*/void CLO_PJ(TYPE_NODE*head);/*计算服装评价指数*/#endif/*TYPE_H_INCLUDED*/main.c#include qjy.hint main()编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-31-页 共117页第-31-页 共 117 页COORD size=SCR_COL,SCR_ROW;/*窗口缓冲区大小*/gh_std_out=GetStdHandle(STD_OUTPUT_HANDLE);/*获取标准输出设备句柄*/gh_std_
42、in=GetStdHandle(STD_INPUT_HANDLE);/*获取标准输入设备句柄*/SetConsoleTitle(gp_sys_name);/*设置窗口标题*/SetConsoleScreenBufferSize(gh_std_out,size);/*设置窗口缓冲区大小 80*25*/LoadData();/*数据加载*/InitInterface();/*界面初始化*/RunSys(&gp_head);/*系统功能模块的选择及运行*/CloseSys(gp_head);/*退出系统*/return 0;/*函数名称:ClearScreen*函数功能:清除屏幕信息.*输入参数:无
43、*输出参数:无*返 回 值:无*调用说明:*/void ClearScreen(void)CONSOLE_SCREEN_BUFFER_INFO bInfo;COORD home=0,0;unsigned long size;GetConsoleScreenBufferInfo(gh_std_out,&bInfo);/*取屏幕缓冲区信息*/size=bInfo.dwSize.X*bInfo.dwSize.Y;/*计算屏幕缓冲区字符单元数*/*将屏幕缓冲区所有单元的字符属性设置为当前屏幕缓冲区字符属性*/FillConsoleOutputAttribute(gh_std_out,bInfo.wAt
44、tributes,size,home,&num_written);/*将屏幕缓冲区所有单元填充为空格字符*/FillConsoleOutputCharacter(gh_std_out,size,home,&num_written);return;/*编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-32-页 共117页第-32-页 共 117 页*函数名称:ShowMenu*函数功能:在屏幕上显示主菜单,并设置热区,在主菜单第一项上置选中标记.*输入参数:无*输出参数:无*返 回 值:无*调用说明:*/void ShowMenu()C
45、ONSOLE_SCREEN_BUFFER_INFO bInfo;CONSOLE_CURSOR_INFO lpCur;COORD size;COORD pos=0,0;int i,j;int PosA=2,PosB;char ch;GetConsoleScreenBufferInfo(gh_std_out,&bInfo);size.X=bInfo.dwSize.X;size.Y=1;SetConsoleCursorPosition(gh_std_out,pos);for(i=0;i 5;i+)/*在窗口第一行第一列处输出主菜单项*/printf(%s,ga_main_menui);GetCons
46、oleCursorInfo(gh_std_out,&lpCur);lpCur.bVisible=TRUE;SetConsoleCursorInfo(gh_std_out,&lpCur);/*隐藏光标*/*申请动态存储区作为存放菜单条屏幕区字符信息的缓冲区*/gp_buff_menubar_info=(CHAR_INFO*)malloc(size.X*size.Y*sizeof(CHAR_INFO);SMALL_RECT rcMenu=0,0,size.X-1,0;/*将窗口第一行的内容读入到存放菜单条屏幕区字符信息的缓冲区中*/ReadConsoleOutput(gh_std_out,gp_b
47、uff_menubar_info,size,pos,&rcMenu);/*将这一行中英文字母置为红色,其他字符单元置为白底黑字*/for(i=0;iAttributes=BACKGROUND_BLUE|BACKGROUND_GREEN编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-33-页 共117页第-33-页 共 117 页|BACKGROUND_RED;ch=(char)(gp_buff_menubar_info+i)-Char.AsciiChar);if(ch=A&ch=a&ch Attributes|=FOREGROUND
48、_RED;/*修改后的菜单条字符信息回写到窗口的第一行*/WriteConsoleOutput(gh_std_out,gp_buff_menubar_info,size,pos,&rcMenu);COORD endPos=0,1;SetConsoleCursorPosition(gh_std_out,endPos);/*将光标位置设置在第 2 行第 1 列*/*将菜单项置为热区,热区编号为菜单项号,热区类型为 0(按钮型)*/i=0;doPosB=PosA+strlen(ga_main_menui);/*定位第 i+1 号菜单项的起止位置*/for(j=PosA;jPosB;j+)gp_scr
49、_attj|=(i+1)2;/*设置菜单项所在字符单元的属性值*/PosA=PosB+4;i+;while(i5);TagMainMenu(gi_sel_menu);/*在选中主菜单项上做标记,gi_sel_menu 初值为 1*/return;/*函数名称:TagMainMenu*函数功能:在指定主菜单项上置选中标志.*输入参数:num 选中的主菜单项号*输出参数:无*返 回 值:无*调用说明:*/void TagMainMenu(int num)编号:时间:2021 年 x 月 x 日书山有路勤为径,学海无涯苦作舟书山有路勤为径,学海无涯苦作舟页码:第-34-页 共117页第-34-页 共
50、 117 页CONSOLE_SCREEN_BUFFER_INFO bInfo;COORD size;COORD pos=0,0;int PosA=2,PosB;char ch;int i;if(num=0)/*num 为 0 时,将会去除主菜单项选中标记*/PosA=0;PosB=0;else/*否则,定位选中主菜单项的起止位置:PosA 为起始位置,PosB 为截止位置*/for(i=1;inum;i+)PosA+=strlen(ga_main_menui-1)+4;PosB=PosA+strlen(ga_main_menunum-1);GetConsoleScreenBufferInfo(