C语言课程设计报告——《商品销售管理》 .doc

上传人:laozhun 文档编号:2384958 上传时间:2023-02-17 格式:DOC 页数:28 大小:495KB
返回 下载 相关 举报
C语言课程设计报告——《商品销售管理》 .doc_第1页
第1页 / 共28页
C语言课程设计报告——《商品销售管理》 .doc_第2页
第2页 / 共28页
C语言课程设计报告——《商品销售管理》 .doc_第3页
第3页 / 共28页
C语言课程设计报告——《商品销售管理》 .doc_第4页
第4页 / 共28页
C语言课程设计报告——《商品销售管理》 .doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C语言课程设计报告——《商品销售管理》 .doc》由会员分享,可在线阅读,更多相关《C语言课程设计报告——《商品销售管理》 .doc(28页珍藏版)》请在三一办公上搜索。

1、湖北汽车工业学院电气与信息工程学院 C语言程序设计课程设计课程设计题目: 商品销售管理 专业: 电子信息科学与技术 班级: T1023-11 姓名: 余勇 成绩: 目 录一、 需求分析31.2问题31.2系统31.3运行要求3二、 总体设计32.1系统流程设计32.2系统模块设计4三、 详细设计53.1数据结构设计53.2界面设计63.3模块实现13四、 功能模块的调试和测试21五、 课程设计总结24六、 致谢27参考文献28 附录一、需求分析1、问题问题描述:已知一公司有10种产品(产品编号,产品名称,产品价格,产品产地,库存数量(最开始为1000个),设计一程序,完成以下功能: 销售:从键

2、盘输入顾客姓名,销售数量、销售日期,实现销售功能。需要判断产品是否存在,销售数量是否小于库存数量,销售日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02) 计算时间段内各个产品的销售总额 能根据顾客姓名,查询购买历史 能显示所有顾客的姓名根据需求,该系统所应包含的信息有以下一些:商品销售的基本信息:顾客姓名、产品类型、销售数量、销售日期、库存数量、销售总额;根据需求,该系统所应实现的功能有以下一些:1. 各种基本数据的录入。如:产品销售的基本信息的录入。2. 基于各种基本数据的查询。即允许对已经录入的数据进行查询。例如根据产品编号查询产品的销售历史;根据顾客姓名,查询购买历

3、史。3. 各种基本数据的计算。计算时间段内各个产品的销售总额。4. 数据的显示:显示所有顾客的姓名。5. 数据导出:将销售信息导出到指定文件。6. 数据导入:从指定文件导入销售信息。2、系统 采用C语言实现,开发环境为VC6.0,可以运行在操作系统windows98及以上皆可。3、运行要求1) 能不受限制的录入销售信息;2) 界面友好,操作方便,例如保存前需要提示用户是否保存;3) 容错性强,例如数据导出时,如果文件不存在需要提示用户。 二、总体设计1、系统流程设计调用choice_read()函数Choice()函数选择(a)执行printf()函数开始调用list_name ()函数执行e

4、xit()退出系统调用download_c ()函数调用download_s ()函数调用list_name()函数调用search-p-id ()函数调用search_name ()函数调用search_time ()函数调用sale ()函数调用show ()函数show()函数2、系统模块设计根据系统的功能设计,设计如下模块商品销售管理主界面显示功能选择商品销售录入查询产品的销售历史时间段内产品的销售总额查询顾客的购买历史显示顾客的姓名保存顾客信息保存销售信息结束界面欢迎界面主界面模块:完成系统菜单的显示;功能选择模块:根据用户的选择,完成其相应的功能;商品销售信息录入:完成用户从界面输

5、入信息,保存入系统的功能;查询销售产品历史:根据产品的编号ID查询该产品的销售记录的功能;时间段内产品的销售总额:根据用户的需求,查询任意时间段内的各个产品的销售总额;查询顾客的购买历史:根据客户的姓名,查询其购买历史;显示顾客的姓名:根据需要,显示顾客的姓名;保存顾客信息:根据需要,保存顾客信息至文件;保存销售信息:根据需要,保存销售信息至文件;三、详细设计1、数据结构设计根据系统要求,系统中需要保存的数据,其结构如下:数据项名称数据项系统表示数据类型数据长度备注顾客姓名c_name字符串30顾客编号c_id整型产品名称p_name字符串30产品编号p_id字符串19产品价格price单精度

6、产品产地place字符串50产品库存stonum整型产品销量num整型产品销售日期s_date字符串10为了能实现不受限制的增加销售信息,采用链表的结构保存销售信息,在增加销售的基本信息时,创建一个销售信息的节点,将其插入到链表中,示意图如下。新增销售信息3销售信息2销售信息1使用C语言创建的结构体如下:struct sell/定义商品销售结构体int c_id;char c_name30;char p_id19;char p_name30;int num;char s_date10;struct sell *next;2、界面设计20 1欢迎界面:介绍该系统的简要情况。202主界面:根据系统

7、要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将在每个菜单前显示该菜单项对应的数字用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。203导入商品信息界面: 选择文件导入选项将商品信息从文件中导入,也可以通过键盘手动输入。如:204 显示商品信息:通过文件导入或键盘输入的商品信息,然后显示在屏幕上。给销售员查看销售情况。205 输入顾客购买信息:通过键盘输入顾客购买商品的信息,并且保存至链表和文件中。206按商品编号查询商品销售信息:通过键盘输入商品的编号查询销售信息查询结果如下:207按日期范围查询销售记录:键盘输入查询日期的范围,查询

8、结果如下:208按顾客姓名查询其购买历史:查询结果如下:209显示顾客姓名:210保存销售信息:保存本次销售信息至文件。文件保存信息如下:* 顾客编号 商品编号 销售数量 购买日期= 15174 1 100 2011-07-04*211保存顾客信息:文件保存信息如下:*顾客购买记录* 顾客姓名 顾客代码 张三 15174*212结束界面:3、模块实现1. 主界面实现:模块说明:调用printf()函数,在屏幕上打印需要显示的字符信息,需要在显示之前调用system(“cls”)函数将前面的界面清空。 模块流程:开始欢迎界面进入主函数int main()保存销售信息保存顾客信息显示顾客的姓名查询

9、顾客的购买历史时间段内产品的销售总额查询产品的销售历史商品销售录入功能选择显示商品信息执行printf()函数输入指令(a)a9是否结束界面3.1主函数流程图对应的函数:hello(), menu(), bye();2商品信息的导入实现:模块说明:从文件导入或者键盘键入现有商品信息。模块流程:开始(清屏)()执行choce_read()函数输入指令(a)a=1a=2文件导入键盘键入返回菜单3.2商品导入流程图对应的函数:choice_read(),file_read( ), keyboard( );3 销售信息录入模块实现:模块说明:从键盘接收输入的销售信息,在动态存储区中创建销售的节点,遍历

10、链表,将其插入到销售链表的最后位置。模块流程:开始(清屏)申请动态存储空间,创建一个节点给节点中输入销售信息(是否保存?)否 是遍历链表,找到最后的节点将新节点连接到最后的节点上结束3.3销售信息流程图对应的函数:sale() , sale_download_save(), judge();4 按编号查找销售历史模块说明:根据键盘输入的商品编号,在销售链表中遍历查询,若有配对,则同时输出其节点保存的其他信息。模块流程:开始(清屏)输入要查询的编号啊遍历链表查找编号,是否有记录 否是 是输出该节点中其他的信息结束3.4按编号查找流程图对应函数:search_p_id();5日期范围的销售信息查询

11、模块实现:模块说明:从键盘接收输入一个日期范围,遍历链表,判断节点的日期是否在此日期范围内,如果在,则输出该节点的其他信息,如产品编号,顾客编号等等。模块流程:开始(清屏)输入要查询的日期范围遍历链表查找日期,是否在日期范围内 否是 是输出该节点中其他的信息结束3.5按日期范围内查找流程图 对应函数:search_time();6按顾客姓名查询销售记录模块实现:模块说明:通过键盘输入顾客姓名,在销售链表中遍历查找节点包含的姓名,若姓名配对,则输出该节点的信息。 模块流程:开始(清屏)输入要查询的姓名啊遍历销售链表查找姓名,是否有记录 否是 是输出该节点中其他的信息结束 3.6按顾客姓名查找流程

12、图对应函数:search_name();7显示顾客姓名模块实现:模块说明:通过键盘输入的顾客姓名,若在顾客链表中查询该姓名,输出其姓名和编号。 模块流程:开始(清屏)输入要查询的顾客姓名啊遍历顾客链表查找姓名,是否有记录 否是 是输出该节点中顾客姓名与顾客编号结束3.7显示顾客流程图对应函数:list_name()8保存销售信息模块:模块说明:保存在销售链表和顾客链表中的销售信息至文件。模块流程:开始(清屏)遍历销售和顾客链表,是否有记录 否 是输出节点中的销售信息,打印至文件 结束3.8保存销售信息流程图对应函数: download_s();9保存销售信息模块:模块说明:保存在销售链表和顾客

13、链表中的顾客信息至文件。模块流程: 开始(清屏)遍历销售和顾客链表,是否有记录 否 是输出节点中的顾客信息,保存至文件 结束3.9保存信息流程图对应函数:download_c ();四: 功能模块的调试及测试1、测试选项 测试的数据:输入a:测试结果:程序运行出现错误,如下 原因:是选择09之外的数,不能跳转。测试数据:1测试结果:程序运行正常,正常跳转到界面。2、输入销售信息测试 测试数据: zhangsan 1 100 2011-07-32 测试结果: 修改后的测试数据:张三 1 100 2011-07-04测试结果:如上图,测试成功。原因:姓名只准输入汉字,日期只准输入当前日期,并且销售

14、日期形如(1991-02-27)。3、按编号查询销售信息测试测试数据:4;测试结果: 原因:编号为4的商品未销售。4、按日期范围内查询销售日期 测试数据:(开始日期)2011-06-01 (结束日期)2011-06-30 测试结果:原因:该日期内无销售日期。修改后的日期:(开始日期)2011-06-01 (结束日期)2011-08-01测试结果:有记录。5、按顾客姓名查找销售记录:测试数据:李四测试结果:修改后的测试数据:张三测试结果:原因:无顾客购买记录,所以显示不出来。6、保存信息至文件测试结果:正确结果:原因:无销售记录,故显示顾客记录为空。顾客购买信息.txt的文件内容如下: *顾客购

15、买记录* 顾客姓名 顾客代码 张三 24497*五、实训总结五、课程实训总结1、对系统开发的总结(设计亮点,存在的不足,需要改进的地方):该系统为作者本人自行精心开发,限于个人水平,系统不太完整,功能不太完善,且人性化较为不足,本人将在后续阶段进行优化改正,功能将进一步拓展。有一些地方还是存在较小的麻烦,如在相同顾客的编号在两次购买过程中不相同,造成了系统的不便,本人将会想办法克服这一缺点。但是此系统在已开发的功能上精心布置,完美的界面和人性化的提示与功能还是值得称赞的,并且经过长时间的测试,功能完全正确。2、实训感想有位学长曾经说过,“编程的魅力就在最后那一刻完美运行的快感。”其实这也是我心

16、里最真实感受,经过大半个月二十来天的攻克,终于完成了第一份自己编译的程序,我觉得我很欣慰,因为二十来天的编程是对我身体与心理的挑战,由于自己C语言功底不太强,曾经为了这份程序,我也饱受了心理的折磨,每次为了一个需要实现的功能而自己毫无头绪的时候,我都大量收集资料,晚上弄到凌晨都不得不继续编下去,但是有时候一下午过去还是没有进展,很多时候都想放弃,然后去找答案抄上,但是我最终还是克服了这些,因为我知道这是一个很好的机会去锻炼自己,以前一直想编一份自己的程序,我知道这次会实现这个目标的。通过这次课程设计,我学会了很多,在C语言方面,我已经很熟练地掌握了很多知识,已经可以较为独立的进行C语言的学习;在素质方面,我也进一步学会了吃苦耐劳的精神。这次成功的经历,给我一个很好的激励,这将使我更加有兴趣的学习以后的课程。六、致谢这次编程的成功,大部分的功劳还是在于给了我很多帮助的胡宁亚老师、导生何德建学长和热心的网友,没有你们不辞辛苦的帮助,我也不会有这样好的成绩。谢谢!作 者:余勇撰文日期:2011-07-04参考文献1) 谭浩强。C程序设计(第三版)北京:清华大学,20052) 何钦铭、颜晖。C语言程序设计浙江:浙江大学,2008七、 附录:略

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号