c商品管理程序28753.pdf

上传人:得** 文档编号:79839453 上传时间:2023-03-21 格式:PDF 页数:23 大小:941.01KB
返回 下载 相关 举报
c商品管理程序28753.pdf_第1页
第1页 / 共23页
c商品管理程序28753.pdf_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《c商品管理程序28753.pdf》由会员分享,可在线阅读,更多相关《c商品管理程序28753.pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、淮 阴 工 学 院 C+程序设计课程设计报告 选题名称:商品管理系统 系(院):计 算 机 工 程 学 院 专 业:计算机科学与技术 班 级:计算机#班 姓 名:#学 号:#*:*学年学期:2015 2016 学年 第 1 学期 2015 年 12 月 29 日 设计任务书 课题 名称 商品管理系统 设计 目的 1.调研商品管理系统的功能;2.学习与商品管理系统相关的参考资料和基于VC+集成环境的编程技术;3.通过实际编程加深对基础知识的理解,提高实践能力;4.学习开发资料的收集与整理,学会撰写课程设计报告。实验 环境 1.微型电子计算机(PC);2.安装 Windows 2000 以上操作系

2、统,Visual C+6.0 开发工具,Microsoft Office PowerPoint 2003。任务 要求 1.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义和设计要求,注意材料收集与整理;2.在第,17 周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;3.本课题主要功能有:1)添加:即增加一个商品的记录到系统中;2)删除:即从系统中删除一个商品的记录;3)查询:可根据商品名称、编号查找商品的相关信息,若找到显示该商品的全部信息;4)修改:可修改一个商品的除名称外的其它信息;5)状态:提供该商品在库、不在库的状态。4.结束后,和时提交设计报告(含纸质稿、

3、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于 3000 字(不含代码)。工作进度计划 序号 起止日期 工 作 内 容 1 在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。2 2015.12.272015.12.29 设计总体方案,构建、绘制流程框图,编写代码,上机调试。3 2015.12.292015.12.30 测试程序,优化代码,增强功能,撰写设计报告。4 2015.12.302015.12.31 提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计报告。指导教师(签章):年 月 日 摘要:分别对软件的需求进行分析,对软件的概要设计和软件的详细设计

4、进行阐述,以和对软件的组装和测试的详细叙述,并附加了软件的使用说明书(操作手册)。程序设计一般由两部分组成:算法和数据结构,合理选择和实现一个数据结构与处理这些数据结构具有同样的重要性。以将每个功能分别编译实现,再通过函数包含,调用等方法实现各项功能间的连接为设计思想,并采用将商品当作一个整体,整体类型为结构体,结构体中的域表示商品的属性的这种定义结构作为数据结构。软件将各个模块的功能分为列菜单、商品登记、添加、查询、修改、删除、显示等来组成整个程序,实现对商品信息的系统管理。该程序界面友好,易于操作,使操作者和使用者应用更加方便。关键词:课程设计;商品管理;VC+;代码 目 录 1 课题综述

5、.1 1.1 课题来源.1 1.2 课题意义.1 1.3 预期目标.1 1.4 面对问题.1 1.5 需要解决的关键技术.2 2 系统分析.2 2.1 涉汲的基础知识.2 2.2 解决问题的基本思路.3 2.3 总体方案.3 3 系统设计.3 3.1 系统达到的目的.3 3.2 系统功能说明.4 3.2.1 功能分析说明图.4 3.2.2 各项功能说明.4 3.3 系统设计环境与模块的划分.5 3.3.1 系统设计环境.5 3.3.2 系统模块的划分.5 3.4 软件设计主要原理.5 3.4.1 采用的主要数据结构类型.5 3.4.2 各个模块之间的调用关系和数据储存格式说明.6 3.4.3

6、主要流程图.错误!未定义书签。4 代码编写.7 4.1 各模块之间的调用方式.7 4.2 程序中实现各项功能的函数与程序代码.8 5 程序调试.13 5.1 出现问题和解决方法.13 6 运行与测试.错误!未定义书签。总 结.17 致 谢.18 参考文献.181 课题综述本章主要阐述了课题的来源、意义、预期的目标以和要面对的问题和需要解决的关键技术。1.1 课题来源 “C+程序设计”是计算机科学与技术专业最重要的一门专业基础课程,涉和知识点多,教、学难度非常大,往往费了大量时间而达不到预期效果。俗语说:学习的最好方法是实践。为了给我们提供一个理论联系实际的机会,学院特课设课程设计实践课,布置一

7、定难度的课题,要求我们独立完成。本课题便是来自课程设计实践课中的课题。1.2 课题意义 通过设计商品管理系统这一实践活动,可以促使我们建立课程设计的整体思想,锻炼我们的编写程序、调试程序的能力,学习文档编写规范,培养独立学习、吸取他人经验、探索前沿知识的习惯,树立团队协作精神。1.3 预期目标 写出代码,不断调试修改,最终实现登记商品信息、添加一个商品记录、查询一个商品的全部信息(包括按商品编号查询和商品名称查询)、修改一个商品除名称外的全部信息、删除一个商品记录等功能。1.4 面对问题 如何去实现预期的功能?比如在修改商品信息的时候如果出现编号重复了,如何实现对此的辨别?在修改商品信息时,如

8、果遇到不需要修改的信息,如何简化工作,跳过对某一信息的修改,而非将愿信息重新输入一边等。这些都是要面对的问题。1.5 需要解决的关键技术 选择使用结构,则须知道结构体的基础知识,要定义的域内容,各数据的类型。需要用到的函数和其定义,熟练运用循环语句。确立菜单形式选项,则要熟悉switch语句。2 系统分析 2.1 涉汲的基础知识 基本数据类型:整型(int)、浮点型(单精度 float、双精度 double)、字符型(char)。结构体:自定义数据类型中的一种,它可将多种数据类型组合在一起使用,方便描述现实世界的各种各样的客观对象之间的关系。If 语句:也称条件语句,主要功能是当程序运行到此处

9、可以根据条件的不同而决定执行什么样的后续语句。它的语法有两种形式:if(表达式)语句;if(表达式)语句 1;else 语句 2;Switch 语句:也称开关语句,它是多分支结构。一般形式为:case:break;case:break;case:break;default:注意点:Switch 括号中的表达式只能是整型、字符型或枚举型表达式。Case 后面的常量表达式之类型必须而与其匹配。String.h 头文件:是诸多字符空间操作的库函数集合。本系统用到“strcmp”来实现字符的比较。函数:由能完成特定任务的独立程序代码块组成;其内部工作对程序的其余部分是不可见的。形式如下:返回类型 函数

10、名(参数表)语句块;函数名:应尽可能反映函数的功能;参数表:0 个或多个变量,用于向函数传送数值或从函数带回数值。如果参数表列中参数个数为 0,称为无参函数 返回类型:用 return 返回函数值的类型。如果函数没有返回值,返回类型应为 void。一个函数也可以有多个 return 语句,在函数的执行过程中,遇到任一个 return 语句,将立即停止执行,并返回到调用函数。函数体:花括号中的语句称为函数体。一个函数的功能,通过函数体中的语句来完成。2.2 解决问题的基本思路 针对相应的问题,选择合适的语句。通过函数调用,来实现各个功能。2.3 总体方案 将各功能,以菜单的形式列出。建立菜单,通

11、过使用 case 语句,选择相应的功能。将每一个功能以函数的形式写出,在主函数的每一个 case 语句中调用。3 系统设计 3.1 系统达到的目的 该系统主要是实现对商品信息进行系统化的管理,首先可以对商品基本信息进行登记,其次在有需要的情况下可以继续添加一条或多条商品记录,然后可以按照商品的编号或者名称查询商品的全部信息,还可以实现修改商品除名称外的所有信息以和删除商品记录等。由此来系统化管理商品信息,并达到简易操作的目的。3.2 系统功能说明 3.2.1 功能分析说明图 该软件功能分析说明图如 3-1 所示 图 3-1 商品管理系统分析说明图 3.2.2 各项功能说明(1)登记商品信息:这

12、部分的功能主要是商品信息的登记。按照提示依次输入商品的编号、名称、价格以和库存。(2)添加商品信息:此功能是在已登记的基础上如果需要添加则选择此项。(3)按编号查找商品信息:此项功能可以根据用户输入的商品编号查出该商品的所有信息。(4)按名称查找商品信息:此项功能可以根据用户输入的商品名称查出该商品的所有信息。(5)删除学生信息:进入该项功能界面后,用户可以通过学生的编号对某个商品记录进行删除。(6)修改商品信息:进入修改界面,系统将提示输入要修改的商品编号,用户正确输入编号后会出现子菜单,其中包括修改编号、价格、库存以和返回主菜单。如果修改后的编号与库存中其他商品编号重复,将提示重新输入。(

13、7)商品库存状态:此项功能可以根据用户输入的商品编号查出该商品库存是否为零,如果为零,则显示“该商品不在库!”。不为零,则显示“该商品在库!”。(8)显示商品的所有信息:选择此项功能后,系统将自动在屏幕上显示出所有商品的信息。(9)退出系统:商品管理系统 按编号 按名称 修改编号 修改价格 修改库存 选择此项功能后,退出系统,结束任务。3.3 系统设计环境与模块的划分 3.3.1 系统设计环境 Microsoft Visual C+6.0:美国微软公司开发的 C+集成开发环境,它集源程序的编写、编译、连接、调试、运行,以和应用程序的文件管理于一体,是当前 PC 机上最流行的 C+程序开发环境。

14、3.3.2 系统模块的划分 该软件主要组成模块和各个模块之间的调用关系如图3-2:图 3-2 模块调用关系图 3.4 软件设计主要原理 3.4.1 采用的主要数据结构类型 该程序采用的是结构体类型来处理学生的所有基本信息,如下所述:包含的库函数有:#include/数据流输入/输出#include /字符串处理#include/参数化输入/输出 setw()#include/进程处理 system(cls)#include /standard input and output#define N 100 /宏定义又称为预定义,可以定义常量/商品结构体定义 struct shangpin int

15、id;/商品编号 char spname20;/商品名称 float price;/商品价格 int kucun;/商品库存 商品管理系统 主菜单 主函数(包括以下所有函数)登记商品信息 添加商品信息 查找商品信息 修改商品信息 删除商品信息 商品在库状态 退 出 系统 显示所有商品信息 shangpin spN=0,0,0,0;/结构体初始化 int count=0,temp;/定义全局变量 count,temp;/函数声明:void tianjia();/添加商品记录 void bianhaochazhao();/按编号查找商品信息 void namechazhao();/按名称查找商品信

16、息 void xiugai();/修改商品信息 void shanchu();/删除商品记录 void zhuangtai();/商品库存状态 void xianshi();/显示所有商品信息 void xiugaibianhao();/修改编号 void xiugaijiage();/修改价格 void xiuggaikucun();/修改库存 3.4.2 各个模块之间的调用关系和数据储存格式说明 各函数模块之间的调用关系主要是主函数调用所有其它功能函数和菜单函数,并利用循环使各个功能函数运行完毕后都会回到菜单。该程序的数据以二进制储存。3.4.3 主要流程图 一、主函数 图 3-3 主函数

17、流程图 二、添加商品信息 图 3-4 登记商品信息流程图 三、查找商品信息 图 3-5 查找商品信息流程图 开始 选择功能 结束 开始 输入商品的编号、名称、价格、库存 提示是否继续输入(y/n)自动保存 结束 登记商品信息 添加商品信息 按编号 查找商品信息 修改商品信息 删除商品信息 商品在库状态 退 出 系统 显示所有商品信息 按名称 查找商品信息 开始 选择操作3或操作4 四、修改商品信息 图 3-6 修改商品信息 五、删除商品信息 图 3-7 删除商品信息流程图 六、商品在库状态 图 3-7 商品在库状态流程图 七、显示所有商品信息 图 3-8 显示所有商品信息流程图 八、退出函数

18、图 3-9 退出函数流程图 4 代码编写 4.1 各模块之间的调用方式 程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。输入要修改的商品编号 选择操作 4 返回本函数菜单 输 入 新编号 开始 开始 选择操作 6 输入要删除的商品编号 系统对此编号商品的所有进行清零实现删除 结束 开始 选择操作 9 退出程序 结束 开始 选择操作 8 输出所有商品的编号、名称、价格、库存清单 结束 选择操作1 选择操作2 选择操作4 选择操作3 进入编号 修改界面 返回主菜单 进入库存 修改界面 进入价格 修改界面

19、输 入 新价格 输 入 新库存 结束 开始 选择操作 7 输入要查询的商品编号 输出相应商品在库状态 返回主菜单 结束 4.2 程序中实现各项功能的函数与程序代码 一、头文件和宏定义:#include/数据流输入/输出#include /字符串处理#include/参数化输入/输出 setw()#include/进程处理 system(cls)#include /standard input and output#define N 100 /宏定义又称为预定义,可以定义常量/商品结构体定义 struct shangpin int id;/商品编号 char spname20;/商品名称 flo

20、at price;/商品价格 int kucun;/商品库存 shangpin spN=0,0,0,0;/结构体初始化 int count=0,temp;/定义全局变量 count,temp;/函数声明:void tianjia();/添加商品记录 void bianhaochazhao();/按编号查找商品信息 void namechazhao();/按名称查找商品信息 void xiugai();/修改商品信息 void shanchu();/删除商品记录 void zhuangtai();/商品库存状态 void xianshi();/显示所有商品信息 void xiugaibianha

21、o();/修改编号 void xiugaijiage();/修改价格 void xiuggaikucun();/修改库存/主菜单 void MenuMain()system(cls);/清屏 cout-欢迎使用我们的商品管理系统-endl;cout-endl;coutendl;cout-endl;cout 请选择服务 endl;cout 1-添加商品记录 endl;cout 2-按编号查找商品信息 endl;cout 3-按名称查找商品信息 endl;cout 4-修改商品信息 endl;cout 5-删除商品记录 endl;cout 6-商品库存状态 endl;cout 7-显示所有商品信息

22、 endl;cout 8-安全退出 endl;cout-endl;coutoptions;switch(options)case 1:tianjia();/调用添加函数 break;case 2:bianhaochazhao();/调用编号查找函数 break;case 3:namechazhao();/调用名称查找函数 break;case 4:xiugai();/调用修改函数 break;case 5:shanchu();/调用删除函数 break;case 6:zhuangtai();/调用库存状态函数 break;case 7:xianshi();/调用显示函数 break;case

23、8:cout谢谢使用!endl;return;/getchar();/添加商品记录 void tianjia()char str;for(int i=0;iN;i+)cout请输入商品编号、名称、价格、库存:spi.idspi.spnamespi.pricespi.kucun;count+;cout继续(y/n)str;if(str=n)break;/按编号查找商品信息 void bianhaochazhao()int num,flag=0;coutnum;for(int i=0;icount;i+)if(num=spi.id)flag=1;coutsetw(6)编 号 setw(20)名 称

24、 setw(6)价 格setw(6)库存endl;coutsetw(6)spi.id setw(20)spi.spname setw(6)spi.price setw(6)spi.kucun;coutendl;break;if(flag!=1)cout对不起,该编号不存在!endl;getchar();/按名称查找商品信息 void namechazhao()int flag=0;char sppname20;coutsppname;for(int i=0;icount;i+)if(strcmp(spi.spname,sppname)=0)/相等返回 0 flag=1;coutsetw(6)编

25、 号 setw(20)名 称 setw(6)价 格setw(6)库存endl;coutsetw(6)spi.id setw(20)spi.spname setw(6)spi.price setw(6)spi.kucun;coutendl;break;if(flag!=1)cout对不起,该商品不存在!endl;getchar();/修改商品信息 void xiugai()int flag=0;int t,m;cout请输入要修改的商品编号:m;for(int i=0;icount;i+)if(m=spi.id)flag=1;temp=i;break;if(flag=1)edit:cout 修改

26、商品信息 endl;cout-endl;cout 请选择:endl;cout 1-修改编号 endl;cout 2-修改价格 endl;cout 3-修改库存 endl;cout 4-返回主菜单 endl;cout-t;switch(t)case 1:xiugaibianhao();goto edit;break;case 2:xiugaijiage();goto edit;break;case 3:xiuggaikucun();goto edit;break;case 4:break;if(flag!=1)cout对不起,该商品不存在!endl;/修改编号 void xiugaibianha

27、o()int flag=0,s1;cout请输入商品的新编号:s1;for(int i=0;icount;i+)if(spi.id=s1)flag=1;temp=i;break;if(flag=1)cout该编号已存在!endl;else sptemp.id=s1;/修改价格 void xiugaijiage()float s2;cout请输入商品的新价格:s2;sptemp.price=s2;/修改库存 void xiuggaikucun()int s3;cout请输入商品库存:s3;sptemp.kucun=s3;/删除商品记录 void shanchu()int m;cout请输入要删除

28、的商品编号:m;for(int i=0;icount;i+)if(m=spi.id)spi=spi+1;count-;/商品库存状态 void zhuangtai()int num,flag=0,m;coutnum;for(int i=0;icount;i+)if(num=spi.id)flag=1;m=i;if(flag=1)if(spm.kucun=0)cout该商品不在库!endl;else cout该商品在库!endl;if(flag!=1)cout对不起,该商品不存在!endl;getchar();/显示所有商品信息 void xianshi()cout 商品信息 endl;cout

29、-endl;coutsetw(6)编号setw(20)名称setw(6)价格setw(6)库存endl;for(int i=0;icount;i+)coutsetw(6)spi.id setw(20)spi.spname setw(6)spi.price setw(6)spi.kucun;coutendl;getchar();5 程序调试 5.1 出现问题和解决方法 (1)、修改商品信息函数无法运行 原因:函数结构混乱,case 中镶入了太多的函数内容,混乱之下,容易含糊 解决方法:将 case 下的各函数剥离出来,分别写 void xiugaibianhao()、void xiugaijia

30、ge()、void xiuggaikucun()将商品信息的编号修改、价格修改、库存修改以三个子函数的形式写出来,然后镶嵌到修改商品信息的主体函数中。(2)、添加商品信息时,已登记的信息被清空 原因:for(int i=0;iN;i+),此 for 循环中从 0 重新开始计数,前面内容被替代 解决方法:在商品信息登记中定义(int count=0)来计数,将添加商品记录函数中 for 循环中的 i 初值定位 count(即 int i=count)。6 运行与测试 将把程序运行过程写出,并对此程序的一些细节和具体的操作方法加以说明,说明如下:1、进入系统,主要有选项 1-登记商品信息、2-添加

31、商品信息、3-按编号查找商品信息、4-按名称查找商品信息、5-修改商品信息、6-删除商品记录、7-商品库存状态、8-显示所有商品信息、9-安全退出。界面如图6-1:图 6-1 商品管理系统主界面 2、选择 1 登记商品信息,进入界面,跟据提示依次输入商品编号、名称、价格、库存。如:1 lxq 66 1545。如图 6-2:图 6-2 登记商品信息界面图 a 输入 y,继续输入商品记录,2 ppp 69 1626。如图 6-3:图 6-3 登记商品信息界面图 b 输入 n,确认。返回主菜单,如图 6-4:图 6-4 登记商品信息界面图 c 3、选择 2,添加商品信息,根据提示,依次输入商品信息:

32、3 a 6 0。如图 6-5:图 6-5 添加商品信息 输入库存为 0,为下面测试,第 7 个选项,商品库存状态作铺垫;输入 n 返回 主菜单。4、选择 3 按编号查找商品信息,进入界面,按提示输入要查询的商品编号,输入 1。如图 6-6:图 6-6 编号查找商品信息 a 确认,显示该编号商品的所有信息,如图 6-7:图 6-7 编号查找商品信息 b 按任意键返回主菜单。5、选择 4 按名称查找商品信息,进入界面,按提示输入要查询的商品名称,输入 a。如图 6-8:图 6-8 按名称查找商品信息 a 确认,显示该编号商品的所有信息,如图 6-9:图 6-9 按名称查找商品信息 b 按任意键返回

33、主菜单。6、选择 5 修改商品信息,按提示输入要修改的商品的编号,输入 1。如图 6-10:图 6-10 修改商品信息 a 确认,进入操作界面,如图 6-11:图 6-11 修改商品信息 b 选择 1,进入编号修改界面,并输入新编号 2。如图 6-12:图 6-11 修改商品信息 c 如果编号重复,系统将提示编号已存在,要求返回上级菜单,重新选择输入,如图 6-13:图 6-11 修改商品信息 d 选择 1,重新输入新编号 99。如图 6-14:图 6-11 修改商品信息 e 确认,并返回上级菜单,选择 2,修改价格,输入新价格 56。如图 6-15:图 6-11 修改商品信息 f 确认,并返

34、回上级菜单,选择 3,修改库存,输入新库存 0。如图 6-16:图 6-11 修改商品信息 g 确认,并返回上级菜单,选择 4,返回主菜单。7、选择 8,显示所有商品信息,以验证刚才的修改结果,如图 6-17:图 6-17 显示所有商品信息 按任意键返回主菜单。8、选择 6 删除商品记录,根据提示输入要删除的商品编号,如图 6-18:图 6-18 删除商品记录 a 确认并返回主菜单,选择 8,显示所有商品信息,如图 6-19:图 6-19 删除商品记录 b 商品信息已被清零,按任意键返回主菜单。9、选择 7,查询商品库存状态,如图根据提示,输入要查询的商品编号 1。如图6-20:图 6-20

35、查询商品库存状态 a 确认,显示状态,如图 6-21:图 6-21 查询商品库存状态 b 为了确定编码的实用性,预设了,99 编号商品的库存为零,如果系统能正常运行,输入该商品编号后,会出现,该商品不在库的信息提示,演示如图 6-22:图 6-22 查询商品库存状态 c 10、返回主菜单,选择 9,安全退出,如图 6-23:图 6-23 安全退出 按任意键,完全退出。总 结 一个星期的 C+课程设计结束了。我个人选择的是商品管理管理系统这个程序,一个非常简单实用的小程序。经过大半学期的 C+编程语言学习,编写这样的一个小程序,对我们来说,其实不应该算是一件很困难的事情,但是在我们小组编写的过程

36、中,的确遇到了很多难题,不过我们并没有放弃,都通过查阅资料,请教老师,最终解决了遇到的难题。这次基本编写成功的这个商品管理系统,对我来说,是一件非常令人高兴的事,它基本满足了界面友好,易于操作的要求,因此更利于用户操作方便,运行简易,从而达到对商品更加有效系统的管理,并且速度更快内容更直接地达到用户所想要的效果。在该软件中我们实现了对商品信息的登记、查询、修改、删除、显示等功能。有了这次的锻炼,我相信,下次的课程设计我会做的更好。致 谢 在这短暂的一个星期的课程设计中遇到了不少困难,同时也收获了许多。在此我很想感谢步山岳老师,如果没有老师这大半个学期的循循教导,做出一个管理系统对于我来说只是一

37、项不可能完成的任务。老师不仅教给了我们C+程序设计的基本知识,还教会了我们学习的方法。老师经常强调要多练习、多写代码,实践才能出真知。真是在老师的教导下,是老师的一次次鼓励与表扬,让我的信心十足,让我有足够的实力来完成本次课程设计。参考文献 1 钱能.C+程序设计教程(修订版)清华大学出版社,2009 2 世间 Walter Savitch(著),周靖(译).C+面向对象程序设计-基础、数据结构编程思想.第四版.北京:清华大学出版社,2003,2665 3 张基温.C+程序开发教程.北京:清华大学出版社,2002,1626 C+课程设计成绩表 班级:学号:姓名:5fff 课题名称:商品管理 主要工作 设计主函数框架,主界面,和商品添加,查找。成 绩 教师签字 日期:2015-12-29

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁