还剩64页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
毕业设计论文题目商品管理系统设计与实现毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意作者签名 日 期 指导教师签名 日 期 使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容作者签名 日 期 学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明本人完全意识到本声明的法律后果由本人承担作者签名日期年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文涉密论文按学校规定处理作者签名日期年月日导师签名日期年月日商品管理系统设计与实现摘要目前在全球信息技术的影响之下,世界经济体制的变革已经进入了加速状态世界经济的一体化,企业经营的全球化,令企业与顾客、企业与供应商的关系变得更加密切和复杂强化企业内部管理,规范业务流程,加快企业商品资金的周转,以及为流通领域信息管理全面网络化打下基础,是公司乃至众多商业企业梦寐以求的愿望商品管理是商业和企业经营管理中的核心环节,也是一个企业能否取得最佳经济效益的关键对于企业来说,如果可以合理购买、及时的销售和保证库存量最低,减少积压,就可以使企业的效益最大化商品管理在手工管理的情况下,企业是很难给出正确的库存、销售等统计资料,企业的生产部门也难以做出一份合理的生产计划,使生产条件和市场需求难以准确地反映到生产企业商品管理一采购客户高需求量的商品,处理积压的商品,并把商品以最大利润销售出去一对于零售商来说是成功的关键,因为商品是零售的基础特别是在一个电子商务环境中,客户的需求变化是很快的,而且批发商的忠诚度是很低的,所以必须能够尽快的了解客户的需求变化,并且能够根据变化尽快的做出反应关键词:商品管理;软件测试;C语言设计指导老师签字GoodsmanagementSystemDesignandImplementationABSTRACTStudentname:WeiDeMingClass:0882041Supervisor:WangQingSongIntheinfluenceofinformationtechnologythereformoftheworldeconomichasenteredthestate.Theworldeconomic’integrationglobalizationandthebusinessenterprisesenterprisesandthecustomerrelationshipwithoursupplierswhichhavebecomemorecloselyandcomplex.moreintensivemanagementstandardizedoperationflowgreatertransparencyandtoacceleratetheflowoffundsgoodsandinformationmanagementforcirculationintheoverallnetshotdownmanycompaniesandbusinessenterpriseswhichitwishes.Goodsmanagementisthecoreoftheprocesswhichisthekeyofthebestperformanceforanenterprise.ifyoucanbereasonableandtimelysupplyofsaleswarehousestothepressandyoucangetthebestbenefit.Intraditionalhandicraftmanagementitisdifficultforcustomertomaketherightsupplyfortherelevantpersonsanditalsolacksanaccuratecopyoftheproductionprogramfortheproductiondepartmentsitisnotverydifficulttoproducewithdemandsofthemarketintheproductionconditions.Merchandisemanacement-selectincdesirablemerchandisedisposingofslow-sellincroodsanddistributingthemforthemostprofit-isimportanttoaretailerssuccessbecausemerchandiseisthebasisofretailing.ParticularlybecauseinanElectronicCommerceenvironmentcustomerpreferencesareverydiverseandtheirmerchantloyaltylevelisverylowcompaniesshouldacknowledgethechangesincustomerdemandpatternsquicklyandrespondtothemappropriately.Howeveruntilnowmostretailershavedependedonhumansformerchandisemanagement.keywords:goodsmanagementsoftwaretestingClanguagedesignSignatureofSupervisor:目录
1.前言
11.1课题研究背景和现状分析
11.2课题内容12需求分析
22.1功能需求
22.2运行环境需求33系统设计
43.1系统设计原则
43.2系统总体设计
43.3系统权限设计
63.4系统模块结构图
73.5系统工作流程图
93.6界面设计
103.7数据结构设计
133.8详细设计
143.
8.1顾客登录模块
143.
8.2商品信息管理模块
183.
8.3顾客管理模块
413.
8.4系统主控平台545结束语556参考文献567致谢
571.前言
1.1课题研究背景和现状分析目前在我国,有相当一部分企业连入了Internet其中一些企业已拥有了自己的主页和www服务器,甚至部分企业已能够熟练进行国际子商务信息技术和与之相关的电子商务已经成为了中国企业在新世纪赶超世界的真正机遇但目前国内仍有部分企业还停留在原始计账管理阶段而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,应用电子信息技术,重视对信息流的有效管理和利用,已成为提高竞争力的一个重要手段因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理采购、库存、销售等诸多环节也已成为趋势及必然可是随着企业的发展,客户数量的不断增多,财务工作繁杂化,库存产品零乱等一系列问题也接踵而至,给企业经营者运作带来了很大的困扰信息技术的迅猛发展,科学经营管理观念的迅速传播,使中小企业经营者逐渐认识到转变企业经营管理理念,改善企业经营管理模式是企业适应时代的发展亟需解决的问题现代管理,应该建立在真实、有效的数据信息基础之上,应该是一种科学的、理性的管理体制,而这种管理与经营的联系与互助,又必须依赖于计算机的强大的数据统计功能,计算机管理系统便是实际的企业进销存问题与计算机强大数据统计功能相结合的产物
1.2课题内容本系统是一个对普通商品进行录入、增加、删除、修改、查询的应用软件顾客可以对文件中存储的小型商品进行查询、排序、浏览,了解商品的名称、价格、折扣比例、会员价等信息该软件为顾客提供了一个简单的人机界面,顾客可以根据提示,输入操作项并进行对商品名称、价格的管理操作2需求分析小型商品系统的需求分析,主要确定系统的各项主要功能,对系统进行概要描述,分析系统运行时所需的软、硬件环境,并对系统的各主要功能分别进行需求描述,目的是使软件在设计过程中尽量符合客户的需要
2.1功能需求1顾客验证根据顾客所输入的顾客名和密码,判断是否允许该顾客使用本系统;并且,当顾客登陆后,根据顾客的权限判断顾客可以使用系统的哪些功能普通顾客只有浏览等权限而不能进行实质性改动管理员则可进行增、删、改等管理操作2提供系统主控平台不同权限的顾客进入不同的系统主控平台,界面内只显示其权限范围内的功能选项,来供顾客选择当顾客在系统提示下,输入功能选项代码时,系统会调用相应的子程序,来处理顾客所选择的功能因此,系统主控平台应对系统提供的功能,用列表方式来清晰的显示给顾客,并能正确接受顾客的输入3创建商品价格信息文件顾客根据提示输入商品的序号、名称、各项价格要素,如价格、折扣、会员价可一次性输入多条商品的价格信息,系统将这些商品价格信息,存储在系统磁盘的文件中,以便进行管理、查找和备份4增加商品价格信息可在原有商品价格信息文件的基础上,增加新的商品价格信息记录,并继续保存至磁盘,并将增加后的文件存储状况显示给顾客在增加新价格记录的过程中,系统会提示顾客输入价格、折扣两个价格要素项,并自动计算获得最终折扣价格,并同样作为价格要素项,存入到文件中的对应记录中5删除商品价格信息提示顾客输入要进行删除操作的商品序号,如果在文件中有该商品的价格信息存在,则将该序号所对应的名称、序号、各价格要素等,在对应的文件中加以删除并提示顾客选择是否继续进行删除操作6修改商品价格信息提示顾客输入要进行修改操作的商品序号,如果在文件中有该商品的价格信息存在,则将顾客输入序号所对应商品的名称、各种价格要素等进行修改,并将修改结果存储于文件中最后,提示顾客选择是否继续进行修改操作修改操作中的折扣价格,即会员价,也由系统根据修改后的价格、折扣两项价格要素自动计算,得到修改后的会员价数额,并连同顾客输入的其他修改项一起存入磁盘文件中7查询商品价格可根据名称查询或根据序号查询,分别提示顾客输入要查询商品信息的序号或名称如果在磁盘文件中有对应的商品价格信息,则提示顾客已找到,并逐项列出对应商品的价格状况在该功能中,也要提示顾客是否需要继续查找,如不再继续查询,则返回主界面8商品价格排行浏览该项功能要求根据商品的折扣价格(即会员价)进行排序,以便顾客对商品价格状况有直观的了解由于在磁盘存储的商品价格文件可能有多个,所以提示顾客要浏览的具体文件名,然后根据会员价从大到小进行排序,显示商品号、名称、各项价格要素9管理员的顾客管理包括顾客的创建、增加、删除、修改和、浏览,管理员创建的顾客登陆信息存储在名为yonghu的磁盘文件中每当顾客登陆系统时,系统都会根据该文件中的顾客名和密码进行核实判断,顾客才能顺利登陆管理员还具有增加新顾客的功能,增加的顾客名及密码、操作权限也被继续存储在yonghu文件中当某些顾客不再使用该系统时,管理员可进行删除操作并且,管理员具有修改顾客权限的功能,普通顾客和管理员级顾客对于系统的权限不同
2.2运行环境需求一个好的系统必然有一个相对最优的系统配置方案系统配置要根据用户的实际情况设计,主要依据就是系统的吞吐量和系统相对稳定性的要求软件配置主要包括数据库的选择和操作系统的选择具体如下所示
2.
2.
1.硬件环境处理器IntelPentium166MX或更高内存32MB以上硬盘空间1GB以上显卡SVGA显示适配器
2.
2.2软件环境Windows98/ME/2000/XP3系统设计
3.1系统设计原则
(1)有效性保证信息的有效性是开展商品管理系统的必备条件,需要对网络故障、操作错误、应用程序错误、硬件故障、系统软件错误及计算机病毒所产生的潜在威胁加以有效的控制和预防,以保证数据是有效的
(2)机密性商品管理系统要设置合适的权限,不允许越权访问系统数据;对于机密的数据,普通员工不能访问,或者只允许查看,但不能修改对于用户采用非法方式窃取数据,系统要保留日志,以便管理人员追踪和调查
(3)完整性由于数据输入时的意外差错或欺诈行为,网络故障,可能导致商品信息的差异不但要预防对信息的随意生成、修改和删除,同时还要防止数据传输过程中信息的丢失、破损和重复,并且保证信息传送次序的统一
3.2系统总体设计在对本系统的需求分析过程中已经明确了系统的主要模块、硬件配置所需的环境、软件运行环境以及各个功能模块的需求在下面的总体设计过程中,要确定小型商品管理系统的开发与设计总体思想、并进一步给出系统的模块结构图,同时对各个功能模块进行进一步设计,确定界面总体设计方案、并给出合理的数据结构开发与设计的总体思想本系统使用C语言进行开发和实现,总体思想基于结构化的程序设计应用高级语言程序设计中的循环、选择等控制结构实现小型商品管理系统的增、删、改和查等典型功能,大量信息的存储和操作用C语言中对文件的支持来实现用到了文件的打开、读写等基本操作在软件开发过程中应用了软件工程的基本理伦依据需求分析结果,小型商品管理系统可以分为4个模块顾客验证模块、商品信息管理模块、权限管理模块和系统主控平台模块设计
1、顾客验证模块顾客使用该系统之前需要进行登录验证系统会提示顾客输入登录名和密码,从而调用文件中存储的该顾客的信息进行校验如果未能通过校验,则会提示顾客重新登录或退出系统顾客登录到系统后允许使用的系统功能和顾客权限有关普通顾客只能进行查询和浏览,具有管理员权限顾客则可进行对商品信息的增、删除、改和对顾客登录信息的管理权限的判定在顾客验证模块进行
2、商品信息管理模块当顾客成功登录系统时,即可根据权限不同,调用商品信息管理模块中的部分或全部子功能总体来说,商品信息管理模块的主要功能包括如下几个部分
①创建商品价格信息文件提示具有管理员权限的顾客输入保存商品价格信息记录文件名,在磁盘上创建该文件,继续提示顾客逐条输入商品价格信息记录,每条记录包括商品号、名称和价格、折扣两项主要价格要素其中商品折扣价格即会员价格由系统自动计算获得,计算公式为会员价=价格×折扣该功能可连续输入若干条商品记录,输入商品号为0时则停止输入
②增加商品信息提示顾客输入要继续增加记录的文件名,如在硬盘上存在该文件则进行追加,不改变原有文件内容;如在硬盘上没具体文件,则创建新文件并进行录入操作具体录入操作同上,由系统自动计算获得折扣价格即会员价
③删除商品信息提示顾客输入要进行删除的文件名及商品号码,如在文件中找到要删除的商品记录,则将该商品的对应信息从文件中删除,否则提示顾客文件中没有相匹配的商品,让顾客选择是否继续进行操作
④修改商器信息提示顾客输入要进行修改的文件名及商品号,如果存在有对应记录,则获取顾客输入的要修改的商品名称、价格要素等主要内容价格会员价部分同样由系统自动计算获得,并自动赋值给相应的商品的会员价项
⑤查询商品信息提示顾客输入要查询的具体文件名,可根据商品号和商品名称两种方式进行查询,若有查询结果,则向顾客显示相应查询结果的商品号、名称、价格要素等各项容,并可让顾客选择是否继续查找
⑥商品价格信息排行提示顾客输入要浏览的文件名,根据商品价格的会员价项进行降序排行,将排行结果列表显示给顾客
3、权限管理模块权限管理模块实现对使用小型商品管理系统的顾客的顾客名、密码和权限的管理,以便顾客登录模块进行校验和权限判断只有管理员能够使用顾客管理模块的各项功能该模块有如下5个子功能
①初始化用户信息他建文件存储拥护各项信息,将顾客的各项息信存入磁盘上名为yonghu的文件中,以便顾客登录模块校验判断本系统的初始管理员用户名为admin,密码为123456,普通顾客用户名为user密码为123456
②增加用户管理员级的顾客在登录后可选增加新顾客功能,将新顾客名、密码和权限等各项信息追加至yonghu文件
③删除用户管理员顾客登录后可选择输入要删除的顾客序号,将该顾客的相关信息从yonghu文件中删除,今后该顾客则无法再继续登录系统
④修改用户管理员顾客登录后选择修顾客功能,则输入要修改的顾客序号,继续按照系统提示输入要修改的顾客名、密码及权限,使得该顾客再次登入系统时要符合管理员修改后的信息方可登录修改后的信息保存至yonghu文件
⑤浏览用户信息将yonghu文件中存储的顾客信息按顾客序号排序显示给管理员,以便管理员对各个顾客进行管理操作
3.3系统权限设计系统权限设计是系统设计的关键环节之一,不同身份的用户对系统有不同的访问权限;在本系统中,有四种不同身份的用户,分别为系统管理员、采购员、销售员、仓库保管员通过首页登录时判断用户的不同身份进入不同部分每一部分为一个模块,它又包含自己的子功能
3.4系统模块结构图依据需求分析结果,小型商品管理系统可以分为4个模块顾客验证模块、商品信息管理模块、权限管理模块、系统主控平台系统模块结构图如图所示图3-1系统模块结构图
3.
4.1顾客验证模块顾客使用该系统之前需要进行登录验证系统会提示顾客输入登录名和密码,从而对该顾客信息进行校验图3-2顾客验证模块图
3.
4.2商品信息管理模块当顾客成功登入系统时,可根据权限不同,调用商品信息管理模块中的部分或全部子功能图3-3商品信息管理模块图
3.
4.3权限管理模块权限管理模块实现对使用小型商品管理系统的顾客的顾客名,密码和权限管理,以便顾客登录模块进行校验和权限向判断图3-4权限管理模块图
3.
4.4系统主控平台给管理员级顾客和普通顾客提供不同的主控平台,便于进行功能选择图3-5系统主控平台图
3.5系统工作流程图
3.6界面设计
3.
6.1顾客登录界面设计
(1)考虑到顾客可能出现误操作情况,如果顾客输入的帐号密码错误,则提示顾客重新输入
(2)顾客使用系统时,输入的密码采用不回显的方式输入,保证顾客登录系统时密码的安全性
(3)当顾客输入的帐号密码相符,则提示顾客登录成功,并告知用户权限是管理员还是普通顾客顾客登录界面
3.
6.2管理员和普通顾客系统主控普通设计
(1)管理员的主要功能包括商品信息管理和顾客管理两大部分,在进行界面设计将其划分为界面中的两块区域,并且在提示顾客操作上较为类似,使得界面友好易用
(2)普通顾客使用该系统资源进行查询,浏览操作,功能较为简单界面也简洁易读管理员系统主控平台管理员系统主控平台普通顾客系统主控平台
3.
6.3执行结果界面设计由于C语言对图形化界面的支持比较有限对于该管理系统来说首要考虑的是执行结果的清晰易读.对于此类的界面设计主要采用C语言自带的打印函数进行简单处理将执行结果用列表的方式清晰显示给顾客.创建商品价格信息文件查询商品价格信息添加顾客信息查询顾客信息删除顾客信息
3.7数据结构设计
1.常量定义#defineSIZE100在对商品的排序浏览,删除和修改等功能模块中该常量用于定义数组长度
2.商品价格信息数据结构用于存放每个商品的序号、名称、价格、折扣和会员各方面信息/*结构体类型product*/typedefstruct{longNumber;/*Fieldofnumber*/charName【20】;/*Fieldofname*/floatprice;/*Fieldofpiece*/floatdiscount;/*Fieldofdiscount*/floatmemberprice;/*Fieldofmemberprice*/}product;由于序号、名称、价格、折扣、会员价用于描述一个有机整体——商品,为了表明这些字段不是孤立的,而是共同描述一个网站的事物,因此用结构体这种形式来体现
3.登录顾客信息数据结构顾客描述登录系统的顾客序号、顾客名、密码和权限信息/*结构体类型user*/typedefstruct{longNumber;/*顾客序号*/charName【20】;/*顾客名称*/charps【8】;/*顾客密码*/intpower;/*顾客权限*/}user;
4.计算公式会员价=价格×折扣
3.8详细设计
3.
8.1顾客登录模块
1.模块描述提供顾客登录验证功能,但运行小型商品管理系统时,系统提示输入顾客名,并用不回显的方式输入密码,游戏厅提取磁盘上名为yonghu的文件验证顾客名密码是否正确,并提供程序输入顾客名和密码的选择功能
2.源文件定义源文件login.c头文件user.h
3.函数声明main函数功能竟然系统登录界面,验证顾客登录名和密码,判断顾客权限,给出顾客相应的系统主控平台输入顾客名,密码处理
(1)接收顾客输入的顾客名和密码,存放在相应变量中进行判断
(2)判断顾客名和密码是否相符,如果相符,则获得该顾客权限
(3)判断该顾客权限是管理员还是普通顾客,并调用相应系统主控平台
(4)如果顾客名和密码不符,提示顾客选择查询输入或退出系统输出1顾客登录成功或失败的信息
(2)成功登录的顾客权限
(3)对应当前顾客权限的系统主控平台程序清单
(1)user.h/*==========user.h=================*/#includestdio.h#includestdlib.h#includeconio.h#includestring.h#defineSIZE100typedefstruct{longNumber;/*顾客序号*/charName
[20];/*顾客名称*/charps
[8];/*顾客密码*/intpower;/*顾客权限*/}user;externvoidGuest;/*普通用户功能选择界面*/externvoidAdmin;/*管理员功能选择界面*/externvoidCreatUser;/*创建用户信息文件*/externvoidAddUser;/*增加用户记录*/externvoidDelUser;/*删除用户记录*/externvoidModifyByUserNumber;/*根据用户序号修改*/externvoidSortByUserNum;/*根据用户序号排序浏览*/程序清单
(2)login.c/*login.c顾客登录,判断顾客登录名、密码、权限,根据权限调用相应功能选择界面*//*包含顾客信息头文件包含创建顾客信息、增加、删除、修改、排序的顾客处理程序包含管理员、普通顾客的功能选择界面处理程序*/#includeuser.h#includecuser.c#includeadmin.c#includeguest.c#includeadduser.c#includedeluser.c#includesunum.c#includemunum.cintmain{FILE*fp=NULL;userShow;userTmpS;/*临时存放顾客信息的结构体变量*/charDataFile
[40]=yonghu;/*存放顾客信息的文件名为yonghu*/inti;charrelogin;/*是否重新登录的标志*/intsuccess=0;/*登录成功的标志*//*CreatUser;*/printf#==============================================#\n;printf#WelcometotheProductManagementSystem!#\n;printf#==============================================#\n;again:/*输入登录名*/printfpleaseentertheusername:;scanf%sTmpS.Name;/*输入密码,用不带回显的方式保证安全性*/printfpassword=;fori=0;i6;i++{TmpS.ps[i]=getch;}TmpS.ps
[6]=\0;/*打开yonghu文件,用来验证登录名和密码*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}/*循环读取文件校验登录名和密码是否正确*/whilefreadShowsizeofuser1fp!=intNULL{/*如果通过验证,则将success成功登录标记设为1*/ifstrcmpTmpS.NameShow.Name==0strcmpTmpS.psShow.ps==0{printf\nloginsuccessful!\n;success=1;/*判断权限,如power的值为1,则是管理员,并调用管理员功能选择界面*/ifShow.power==1{printf\nyourpowerisadministrator!\n;Admin;/*调用管理员系统主控平台*/}/*判断权限,如power的值为0,则是普通顾客,并调用普通顾客功能选择界面*/ifShow.power==0{printf\nyourpowerisuser!\n;Guest;/*调用普通客户系统主控平台*/}}}/*如未能成功登录,让顾客选择重新登录或退出*/ifsuccess==0{getchar;printf\nerrorusernameorpassword!inputagainy/n;scanf%crelogin;ifrelogin==Y||relogin==y{printfyouchooseinputagain:\n;gotoagain;}else{printfendprogram;getch;exit0;}}}
3.
8.2商品信息管理模块
1.模块描述对若干商品价格记录进行创建商品信息文件、增加商品信息、输出商品信息、修改商品信息、查询商品价格和商品会员加排行浏览6项功能管理
2.源文件定义源文件admin.c管理员系统主控平台及管理员功能调用guest.c普通顾客系统主控平台及普通顾客功能调用creat.c创建商品价格信息文件add.c增加价格信息delete.c删除价格信息modnum.c修改价格信息qname.c按商品名称查询价格qseatnum.c按商品序号查询价格smpeice.c按会员加数额排序浏览头文件shead.h
3.计算公式会员价=价格×折扣(memberprice=price*discount)
4.函数声明
(1)voidAdmin功能给出管理员顾客的功能选择提示界面,根据管理员顾客的选项调用相应函数输入管理员顾客输入要进行操作的数字选项处理
(1)接受管理员顾客输入的操作选项
(2)系统根据顾客输入的操作选项调用相应的功能函数
(3)显示相应函数的操作过程和结果输出顾客选项对应的函数的执行结果程序清单
(1)shead.h#includestdio.h#includestdlib.h#includeconio.h#includestring.h#defineSIZE100/*mac.rosdefinition*/typedefstruct{longNumber;/*Fieldofnumber*/charName
[20];/*Fieldofname*/floatprice;/*Fieldofprice*/floatdiscount;/*Fieldofdiscount*/floatmemberprice;/*Filedofmemberprice*/}product;externvoidCreatFile;/*创建信息文件*/externvoidAddRecord;/*增加*/externvoidDelRecord;/*删除*/externvoidModifyByNumber;/*修改*/externvoidQueryBySeatNum;/*按序号查询*/externvoidQueryByName;/*按姓名查询*/externvoidSortByMemberPrice;/*按会员价查询程序清单
(2)admin.c/*admin.c管理员功能选择界面,根据客户选项调用相应函数实现系统功能*/#includeshead.h#includecreat.c#includeadd.c#includedelete.c#includemodnum.c#includeqname.c#includeqseatnum.c#includesmprice.cvoidAdmin{intchoice=0;/*存放客户选项的变量*//*====功能及操作的界面提示====*/while1{printf----------------------------------------------------\n;printf||\n;printf|WelcometoProductManagementSystem|\n;printf||\n;printf|--------------------------------------------------|\n;printf|
1.InitProductInformationFile|\n;printf|
2.AddProduct|\n;printf|
3.DelProduct|\n;printf|
4.QueryByProductName|\n;printf|
5.QueryByProductNum|\n;printf|
6.ModifyByProductNumber|\n;printf|
7.SortByMemberPrice|\n;printf++++++++++++++++++++++++++++++++++++++++++++++++++++\n;printf|SystemUserManagement|\n;printf|
11.CreatNewUserFile|\n;printf|
12.AddUser|\n;printf|
13.DelUser|\n;printf|
14.ModifyUser|\n;printf|
15.SortByUserNum|\n;printf++++++++++++++++++++++++++++++++++++++++++++++++++++\n;printf|
0.ExitSystem|\n;printf----------------------------------------------------\n;printf#PleaseInputYourChoose#\n;printf#number1~7toManagetheProductInformation#\n;printf#number1112131415toManagetheSystemUser#\n;printf#number0toExittheSystem#\n;printf----------------------------------------------------\n;scanf%dchoice;getchar;/*根据客户选项调用相应函数*/switchchoice{case1:CreatFile;break;case2:AddRecord;break;case3:DelRecord;break;case4:QueryByName;break;case5:QueryBySeatNum;break;case6:ModifyByNumber;break;case7:SortByMemberPrice;break;case11:CreatUser;break;case12:AddUser;break;case13:DelUser;break;case14:ModifyByUserNumber;break;case15:SortByUserNum;break;case0:exit0;default:break;}}}2voidguest功能给出普通顾客的功能选择提示界面,根据普通顾客的选项调用相应功能输入普通顾客输入其可使用功能的数字选项处理
(1)接受普通高考输入的操作选项
(2)系统根据顾客输入的操作选项调用相应的功能函数
(3)显示相应函数的操作过程和结果输出顾客选项对应的函数的执行结果程序清单guest.c/*guest.c普通用户功能选择界面,根据用户选项调用相应函数*/voidGuest{intchoice=0;while1{printf--------------------------------------------\n;printf||\n;printf|WelcometoProductManagementSystem|\n;printf||\n;printf|------------------------------------------|\n;printf||\n;printf|
1.QueryByName|\n;printf|
2.QueryBySeatNum|\n;printf|
3.SortByMemberPrice|\n;printf|
0.Programend|\n;printf||\n;printf--------------------------------------------\n;printf\nPleaseinputyourchoose1230\n;scanf%dchoice;getchar;switchchoice{case1:QueryByName;break;case2:QueryBySeatNum;break;case3:SortByMemberPrice;break;case0:exit0;default:break;}}}3voidCreatFlie功能初始化商品信息文件,在磁盘文件中存放若干条商品信息记录供顾客查找、浏览输入1商品价格信息文件的文件名2若干条商品价格信息记录3输入序号为0,结束输入处理
(1)接受顾客输入的文件名、创建文件
(2)提示顾客逐条输入商品信息记录
(3)获取顾客输入的信息,通过价格、折扣用公式计算会员价
(4)将完整的商品价格记录存入文件
(5)循环判断顾客输入的商品序号,如为0则结束输入
(6)读取文件,列表显示商品信息内容输出列表显示顾客创建并输入内容后的商品信息文件内容程序清单creat.c/*creat.c用于创建商品信息文件*/#includestdio.h/*函数CreatFile*/voidCreatFile{FILE*fp=NULL;/*定义指向文件的指针*/productTmpS;/*定义进行操作时存放结构体变量的*/charDataFile
[40]=;/*存储商品信息的文件名*/intcount=1;/*计算可输入数据的最大范围*//*====输入存放商品信息的文件名====*/printf\npleaseinputnewfilenameofproductinformation.;printf\nNotice:Nameoffilecantexceed8characters.suffixcantexceed3characterspartofexceedwillbediscarded.\n;getsDataFile;/*如顾客没有输入,则循环提示顾客输入*/while*DataFile==\0{printf\npleaseinputnewfilenametostoredataendwithenter.;printf\nNotice:Nameoffilecantexceed8characterssuffixcantexceed3characters.partofexceedwillbediscarded.\n;getsDataFile;}/*用二进制写的方式打开文件,即创建文件*/fp=fopenDataFilewb+;/*如果当前文件不存在,提示打开文件失败*/iffp==NULL{printf\nOpenfile%sfail!Endwithanykey.\nDataFile;perrorOpenfilefail;getch;exit1;}/*如果成功打开或创建文件,则提示输入商品序号、名称、价格要素等相关信息*/printfinputproductinfotmationrecord.numberis0meansinputisend.\n;printfNumberisnotexceed9figuresNameisnotexceed20charactersrangeofgrade:
0.00~
1000.00\n;/*循环从键盘上读取顾客输入的序号、名称、价格要素等相关信息*/whilecount=SIZE{/*输入序号,如为0则停止输入*/printf\ninputnumber=0meansendinput.\n;printfnumber=;scanf%ldTmpS.Number;ifTmpS.Number==0break;/*提示输入商品名称*/printfname=;scanf%sTmpS.Name;/*提示输入商品商品价格*/printfprice=;scanf%fTmpS.price;/*提示输入商品折扣*/printfdiscount=;scanf%fTmpS.discount;/*用公式自动计算会员价*/TmpS.memberprice=TmpS.price*TmpS.discount;printf\n;/*如遇无法写入文件的异常,则加以提示*/iffwriteTmpSsizeofproduct1fp!=1{printf\nwritefile%sfail!Endwithanykey\nDataFile;perrorWritefilefail;getch;exit1;}count++;}/*如果输入的数据量超过最大允许的范围,则提示数据不能录入*/ifcountSIZEprintf\nsorrynumberofdatacannotexceed%d\nSIZE;fclosefp;/*====在屏幕上显示文件内容====*//*clrscr;*/printfThedatayouinputisstoresuccessful%sinfile.\nDataFile;printfContentasfollow:\n;fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printf\nNumber\tName\tprice\tdiscount\tmemberprice\n;whilefreadTmpSsizeofproduct1fp!=intNULL{printf\n%ld\t%s\t%
4.2f\t%
4.2f\t\t%
4.2f\nTmpS.NumberTmpS.NameTmpS.priceTmpS.discountTmpS.memberprice;}fclosefp;}4voidAddRecord功能增加商品信息记录根据顾客输入的文件名打开商品价格信息文件,进行添加记录操作,如没有文件存在,则创建将顾客输入的若干条商品信息记录追加存入该文件并保存输入商品序号为0,结束输入最后列表显示文件内容输入
(1)要追加商品信息记录的文件名
(2)若干条商品信息记录
(3)输入序号为0,结束输入处理
(1)接受顾客输入的文件名、打开文件,当文件不存在时,创建文件
(2)提示顾客逐条输入商品信息记录
(3)获取顾客输入的商品信息,通过价格、折扣用公式计算会员价
(4)将完整的商品价格记录追加存入文件
(5)循环判断顾客输入的商品序号,如为0则结束输入
(6)读取商品信息文件,列表显示商品信息输出列表显示顾客追加商品信息记录后的文件内容程序清单add.c/*add.c添加商品信息记录*/#includestdio.hvoidAddRecord{FILE*fp=NULL;/*定义指向文件的指针*/productTmpS;/*定义进行操作时的临时结构体变量*/charDataFile
[40]=;/*存储商品信息的文件名*/intcount=1;/*计算可输入数据的最大范围*//*====输入要添加商品信息的文件名====*/printf\npleaseinputtheproductinformationfilenametoaddrecord:;printf\nNotice:Nameoffilecantexceed8characters.suffixcantexceed3characterspartofexceedwillbediscarded.\n;getsDataFile;/*如顾客没有输入,则循环提示顾客输入*/while*DataFile==\0{printf\npleaseinputnewfilenametostoredataendwithenter.;printf\nNotice:Nameoffilecantexceed8characterssuffixcantexceed3characters.partofexceedwillbediscarded.\n;getsDataFile;}fp=fopenDataFilea+;/*a+:当文件存在时,追加,当文件不存在时,创建*//*如果当前文件不存在,提示打开文件失败*/iffp==NULL{printf\nOpenfile%sfail!Endwithanykey.\nDataFile;perrorOpenfilefail;getch;exit1;}/*如果成功打开或创建文件,则提示输入商品序号、名称、价格要素等相关信息*/printfinputnumbernameandsalary.numberis0meansinputisend.\n;printfNumberisnotexceed9figuresNameisnotexceed20charactersrangeofgrade:
0.00~
1000.00\n;/*循环从键盘上读取顾客输入的序号、名称、价格要素等相关信息*/whilecount=SIZE{/*输入序号,如为0则停止输入*/printf\ninputnumber=0meansendinput.\n;printfnumber=;scanf%ldTmpS.Number;ifTmpS.Number==0break;/*提示输入商品名称*/printfname=;scanf%sTmpS.Name;/*提示输入商品价格*/printfprice=;scanf%fTmpS.price;/*提示输入商品折扣*/printfdiscount=;scanf%fTmpS.discount;/*用公式自动计算商品会员价*/TmpS.memberprice=TmpS.price*TmpS.discount;printf\n;/*如遇无法写入文件的异常,则加以提示*/iffwriteTmpSsizeofproduct1fp!=1{printf\nwritefile%sfail!Endwithanykey\nDataFile;perrorWritefilefail;getch;exit1;}count++;}/*如果输入的数据量超过最大允许的范围,则提示数据不能录入*/ifcountSIZEprintf\nsorrynumberofdatacannotexceed%d\nSIZE;fclosefp;/*====在屏幕上显示文件内容====*//*clrscr;*/printfThedatayouinputisstoresuccessful%sinfile.\nDataFile;printfContentasfollow:\n;fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printf\nNumber\tName\tprice\tdiscountmemberprice\n;whilefreadTmpSsizeofproduct1fp!=intNULL{printf\n%ld\t%s\t%
4.1f\t%
4.1f\t%
4.1f\nTmpS.NumberTmpS.NameTmpS.priceTmpS.discountTmpS.memberprice;}fclosefp;}
(5)voidDelRecord功能删除根据顾客输入的文件名打开商品价格信息文件,进行删除记录操作,如没有文件存在,这提示打开文件失败输入
(1)要删除商品价格信息记录的文件名
(2)要删除商品的商品号码
(3)是否继续删除的选项字母处理
(1)接收顾客输入的文件名、用追加方式打开文件,当文件不存在时,提示错误
(2)提示顾客输入要删除商品的商品序号
(3)将文件中对应的商品记录删除
(4)将进行删除操作后的文件进行保存
(5)读取文件,列表显示文件内容程序清单delete.c*delete.c删除商品信息记录*/#includestdio.hvoidDelRecord{/intijk;longdelnum;/*存放顾客输入的要删除商品序号*/productTmpS;/*定义进行操作时的临时结构体变量*/products[SIZE];/*SIZE,在shead.h头文件中定义的常量,值为100*/intrecNumber;/*原文件中的记录数*/charDataFile
[40]=next;/*DataFile存储商品信息的文件名,next为是否进行下一次删除操作的选项*/FILE*fp;/*====fp指针指向存储数据的文件名====*/printf\npleaseinputthenameofproductioninformationfile.\n;getsDataFile;/*提示顾客输入要进行删除纪录的文件名*/while*DataFile==\0{printf\npleaseinputthenameofproductioninformationfile.\n;getsDataFile;}begin:/*以二进制读的方式打开文件*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}/*输入要删除的商品序号*/printfpleaseinputtheProductsseatnumwhichyouwilldelete:;scanf%lddelnum;printftheproductyouwilldeleteis:%ld\ndelnum;/*将文件中信息存入结构体数组*//*与要删除的商品序号相匹配的项不写入数组,循环后数组中即为去掉了要删除记录后的剩余记录*/recNumber=0;whilefreadTmpSsizeofproduct1fp!=intNULL{ifTmpS.Number!=delnum{s[recNumber].Number=TmpS.Number;strcpys[recNumber].NameTmpS.Name;s[recNumber].price=TmpS.price;s[recNumber].discount=TmpS.discount;s[recNumber].memberprice=TmpS.memberprice;recNumber++;}}fclosefp;/*====将删除后的剩余结构体记录写入文件====*/fp=fopenDataFilewb+;iffp==NULL{printf\nSetupfile%sfail!endwithanykey.\nDataFile;perrorSetupfail;getch;exit1;}fori=0;irecNumber;i++{iffwrites[i]sizeofproduct1fp!=1{printf\nWritefile%sfail!endwithanykey.\nDataFile;perrorWritefilefail!;getch;exit1;}}fclosefp;/*====显示删除后的文件====*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printfthefileafterdeleteis:\n;printf\nNumber\t\tName\tprice\tdiscount\tmemberprice\n;whilefreadTmpSsizeofproduct1fp!=intNULL{ifTmpS.Number!=0printf\n%ld\t%s\t%
4.1f\t%
4.1f\t%
4.1f\nTmpS.NumberTmpS.NameTmpS.priceTmpS.discountTmpS.memberprice;}fclosefp;/*询问顾客是否继续删除*/printf\nGoony/n;next=getche;putchar\n;ifnext==y||next==Ygotobegin;}6voidModifyByNnmber功能修改商品信息根据顾客输入的文件名打开商品信息文件,进行修改记录操作,如没有文件存在,则提示打开失败输入
(1)要修改商品信息记录的文件名
(2)要修改商品的商品号码
(3)要修改的各项商品记录的内容值
(4)是否继续修改的选项字母处理
(1)接收顾客输入的文件名、用读的方式打开文件,当文件不存在时,提示错误
(2)提示顾客输入要修改商品的商品序号
(3)提示顾客输入要修改的各项内容值
(4)将文件中对应的商品记录进行修改
(5)根据顾客输入的价格、折扣计算并修改会员价
(6)将进行修改操作后的数组写入文件并进行保存
(7)读取文件,列表显示修改后的文件内容输出列表显示顾客修改商品信息记录后的文件内容程序清单modnum.c/***************************************************//*modnum.c修改商品信息记录*//***************************************************/#includestdio.hvoidModifyByNumber{intijk;longmodnum;/*存储顾客输入的要修改的商品序号*//*输入各项修改后信息*/longNumber;charName
[20];floatprice;floatdiscount;floatmemberprice;productTmpS;/*定义进行操作时的临时结构体变量*/products[SIZE];/*SIZE,在shead.h头文件中定义的常量,值为100*/intrecNumber;charDataFile
[40]=next;/*DataFile存储商品信息的文件名,next为是否进行下一次删除操作的选项*/FILE*fp;/*====fp指针指向存储数据的文件名====*//*提示顾客输入要进行修改记录的文件名*/printf\npleaseinputthenameoffilewheredataisstoredendwithenterkey.\n;getsDataFile;/*提示顾客输入要进行修改记录的文件名*/while*DataFile==\0{printf\npleaseinputthenameoffilewheredataisstoredendwithenterkey.\n;getsDataFile;}begin:/*以读的方式打开文件,如文件不存在,提示错误*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printfpleaseinputtheEmployeeseatnumwhichyouwillmodify:;scanf%ldmodnum;printftheproductyouwilldeleteis:%ld\nmodnum;/*输入要修改记录的各项内容值*/Number=modnum;printfname=;scanf%sName;printfprice=;scanf%fprice;printfdiscount=;scanf%fdiscount;/*用公式自动计算商品会员价*/memberprice=price*discount;/*将文件中要修改的信息存入结构体数组*/recNumber=0;/*循环将文件数据读入结构体数组,如文件中的数据商品号和要修改的商品号不符,则原样写入数组,如文件中数据的商品号和要修改商品号匹配,则根据顾客输入的各项修改内容重新赋值,即修改,并写入数组*/whilefreadTmpSsizeofproduct1fp!=intNULL{ifTmpS.Number!=modnum{s[recNumber].Number=TmpS.Number;strcpys[recNumber].NameTmpS.Name;s[recNumber].price=TmpS.price;s[recNumber].discount=TmpS.discount;s[recNumber].memberprice=TmpS.memberprice;recNumber++;}else{s[recNumber].Number=Number;strcpys[recNumber].NameName;s[recNumber].price=price;s[recNumber].discount=discount;s[recNumber].memberprice=memberprice;recNumber++;}}fclosefp;/*====将修改后的结构体数组记录写入文件====*/fp=fopenDataFilewb+;iffp==NULL{printf\nSetupfile%sfail!endwithanykey.\nDataFile;perrorSetupfail;getch;exit1;}fori=0;irecNumber;i++{iffwrites[i]sizeofproduct1fp!=1{printf\nWritefile%sfail!endwithanykey.\nDataFile;perrorWritefilefail!;getch;exit1;}}fclosefp;/*====显示修改后的文件====*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printfthefileaftermodifyis:\n;printf\nNumber\t\tName\tprice\tdiscount\tmemberprice\n;whilefreadTmpSsizeofproduct1fp!=intNULL{ifTmpS.Number!=0printf\n%ld\t%s\t%
4.1f\t%
4.1f\t%
4.1f\nTmpS.NumberTmpS.NameTmpS.priceTmpS.discountTmpS.memberprice;}fclosefp;/*提示是否进行下一次修改*/printf\nGoony/n;next=getche;putchar\n;ifnext==y||next==Ygotobegin;}7voidQueryByName功能按名称查询根据顾客输入的文件名打开商品价格信息文件,进行按名称查询操作,如没有文件存在,则提示打开失败输入
(1)要查询商品价格信息记录的文件名
(2)要查询商品的商品名称
(3)是否继续删除的选项字母处理
(1)接收顾客输入的文件名、用读服输打开文件,当文件不存在时,提示错误
(2)提示顾客输入要查询商品的商品序号
(3)循环匹配查找对应记录
(4)如查找到,列表显示查找结果
(5)提示顾客是否进行下次查找输出列表显示顾客查找到的价格信息记录程序清单qname.c/*=======qname.c按名称查询商品信息记录===============*/#includestdio.hvoidQueryByName{intresult=0;/*result=1说明查询成功,反之查找失败*/productTmpS;/*定义进行操作时的临时结构体变量*/charXingming
[20];/*用户输入要查询的商品名称*/charDataFile
[40]=next;/*DataFile存储商品信息的文件名,next为是否进行下一次删除操作的选项*/FILE*fp=NULL;/*====fp指针指向存储数据的文件名====*//*提示用户输入要查询的文件名*/printf\npleaseinputthenameofproductinformationfile.\n;getsDataFile;/*提示用户输入要查询的文件名*/while*DataFile==\0{printf\npleaseinputthenameofproductinformationfile.\n;getsDataFile;}/*====提示用户输入要查询的商品名称====*/begin:result=0;printfPleaseinputthenameofproductwhichneedslookupunder20bitfigure.\n;scanf%sXingming;getchar;/*以读方式打开文件*/fp=fopenDataFiler;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey.\nDataFile;perrorOpenfilefail;getch;exit1;}/*循环查找和输入名称相匹配的商品信息记录,如果查找到,则输出结果*/whilefeoffp==0{iffreadTmpSsizeofproduct1fp!=intNULL{ifstricmpTmpS.NameXingming==0{printf\nFind:\n;printf\nNumber=%ldName=%sprice=%
4.1fdiscount=%
4.1fmemberprice=%
4.1f\nTmpS.NumberTmpS.NameTmpS.priceTmpS.discountTmpS.memberprice;result=1;/*result=1说明找到了该商品的对应信息.*/}}}fclosefp;/*提示用户已查到结果并询问是否继续查找*/ifresult==0{printfThereisnotdataofthisproductinthefile!;}printf\nGoony/n;next=getche;putchar\n;ifnext==y||next==Ygotobegin;}8voidQueryByName功能按序号查询根据顾客输入的文件名打开商品价格信息文件,进行按序号查询操作,如没有文件存在,则提示打开失败输入
(1)要查询商品价格信息记录的文件名
(2)要查询商品的商品号码
(3)是否继续删除的选项字母处理
(1)接收顾客输入的文件名、用读服输打开文件,当文件不存在时,提示错误
(2)提示顾客输入要查询商品的商品序号
(3)循环匹配查找对应记录
(4)如查找到,列表显示查找结果
(5)提示顾客是否进行下次查找输出列表显示顾客查找到的价格信息记录程序清单qseatnum.c/*==qseatnum.c按序号查询商品信息============*/#includestdio.hvoidQueryBySeatNum{intresult;/*result=1说明查询成功,反之查找失败*/productTmpS;/*定义进行操作时的临时结构体变量*/longseatnum;/*用户输入要查询的商品序号*/charDataFile
[40]=next;/*DataFile存储商品信息的文件名,next为是否进行下一次删除操作的选项*/FILE*fp=NULL;/*====fp指针指向存储数据的文件名====*//*提示用户输入要查询的文件名*/printf\npleaseinputthenameoffilewheredataisstoredendwithenterkey.\n;getsDataFile;/*提示用户输入要查询的文件名*/while*DataFile==\0{printf\npleaseinputthenameoffilewheredataisstoredendwithenterkey.\n;getsDataFile;}/*====提示用户输入要查询的商品序号====*/begin:result=0;printfPleaseinputthenumberofEmployeewhichneedslookupunder9bitfigureendwithenterkey.\n;scanf%ldseatnum;getchar;/*以读方式打开文件*/fp=fopenDataFiler;iffp==NULL{perrorOpenfilefail;printf\nopenfile%sfail!Endwithanykey.\nDataFile;getch;exit1;}/*循环查找和输入序号相匹配的商品记录,如果查找到,则输出结果*/whilefeoffp==0/*====Functionfeoffpreturn1whilemeetendofflie.====*/{iffreadTmpSsizeofproduct1fp!=intNULL{ifTmpS.Number==seatnum{printf\nFind:\n;printf\nNumber=%ldName=%sprice=%
5.2fdiscount=%
5.2fmemberprice=%
5.2f\nTmpS.NumberTmpS.NameTmpS.priceTmpS.discountTmpS.memberprice;result=1;/*result=1说明找到了该商品的对应信息.*/}}}fclosefp;/*提示用户已查到结果并询问是否继续查找*/ifresult==0{printfThereisnotdataofthisemployeeinthefile!;}printf\nGoony/n;next=getche;putchar\n;ifnext==y||next==Ygotobegin;}9voidSortByheji功能按会员价排序浏览根据顾客输入的文件名打开商品价格信息文件,进行按会员价排序浏览操作,如没有文件存在,则提示打开失败输入
(1)要排序商品价格信息记录的文件名处理
(1)接收顾客输入的文件名、用读服输打开文件,当文件不存在时,提示错误
(2)用选择法进行排序
(3)将排序结果写入文件,并列表显示输出列表显示按会员价排序后的价格信息记录程序清单smprice.c/*smemberprice.c按商品会员价循序排序*/#includestdio.hvoidSortByMemberPrice{intijk;productTmpS;/*定义进行操作时的临时结构体变量*/products[SIZE];/*SIZE,在shead.h头文件中定义的常量,值为100*/intrecNumber=0;charDataFile
[40]=;/*DataFile存储商品信息的文件名*/FILE*fp;/*====fp指针指向存储数据的文件名====*//*提示顾客输入要进行排序的文件名*/printf\npleaseinputthenameofproductinformationfile.\n;getsDataFile;/*提示顾客输入要进行排序的文件名*/while*DataFile==\0{printf\npleaseinputthenameofproductinformationfile.\n;getsDataFile;}/*以读的方式打开文件,如文件不存在,提示错误*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}/*将文件中要排序的信息存入结构体数组*/whilefreadTmpSsizeofproduct1fp!=intNULL{s[recNumber].Number=TmpS.Number;strcpys[recNumber].NameTmpS.Name;s[recNumber].price=TmpS.price;s[recNumber].discount=TmpS.discount;s[recNumber].memberprice=TmpS.memberprice;recNumber++;}fclosefp;/*====如果文件中有记录,则将各条记录按合计值排序===*/ifrecNumber1{/*====用选择排序法进行按合计的排序====*/fori=0;irecNumber-1;i++{k=i;forj=i+1;jrecNumber;j++{ifs[k].memberprices[j].memberpricek=j;}TmpS.Number=s[k].Number;strcpyTmpS.Names[k].Name;TmpS.price=s[k].price;TmpS.discount=s[k].discount;TmpS.memberprice=s[k].memberprice;s[k].Number=s[i].Number;strcpys[k].Names[i].Name;s[k].price=s[i].price;s[k].discount=s[i].discount;s[k].memberprice=s[i].memberprice;s[i].Number=TmpS.Number;strcpys[i].NameTmpS.Name;s[i].price=TmpS.price;s[i].discount=TmpS.discount;s[i].memberprice=TmpS.memberprice;}/*====将排序好的结构体记录写入文件====*/fp=fopenDataFilewb+;iffp==NULL{printf\nSetupfile%sfail!endwithanykey.\nDataFile;perrorSetupfail;getch;exit1;}fori=0;irecNumber;i++{iffwrites[i]sizeofproduct1fp!=1{printf\nWritefile%sfail!endwithanykey.\nDataFile;perrorWritefilefail!;getch;exit1;}}fclosefp;}/*====显示排序后的文件====*/printftheproductsinformationinfile%sisasflow:.\nDataFile;fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printf\nNumber\tName\tprice\tdiscount\tmemberprice\n;whilefreadTmpSsizeofproduct1fp!=intNULL{printf\n%ld\t%s\t%
4.2f\t%
4.2f\t%
4.2f\nTmpS.NumberTmpS.NameTmpS.priceTmpS.discountTmpS.memberprice;}fclosefp;}
3.
8.3顾客管理模块
1.模块描述提供创建顾客信息文件、增加新顾客、删除顾客、修改顾客和浏览顾客信息4个功能
2.源文件定义源文件cuser.c创建顾客信息文件adduser.c添加新顾客deluser.c删除顾客munum.c按序号修改顾客信息sunum.c按序号对顾客信息排序浏览头文件user.h
3.函数声明
(1)voidCreatUser功能创建顾客信息文件根据顾客输入的文件名创建顾客信息文件,将顾客输入的若干条顾客信息交流存入该文件并保存输入
(1)顾客信息文件的文件名
(2)若干条顾客信息记录
(3)输入序号为0,结束输入处理
(1)接收顾客输入的文件名、创建文件
(2)提示顾客逐条输入顾客信息记录
(3)获取顾客输入的记录信息
(4)将完整的顾客信息记录存入文件
(5)循环判断顾客输入序号
(6)读取文件,列表显示文件内容输出列表显示顾客创建并输入内容后的文件内容程序清单cuser.c/*cuser.c创建用户信息文件*/#includestdio.hvoidCreatUser{FILE*fp=NULL;userShow;userTmpS;charDataFile
[40]=yonghu;/*存储顾客信息的文件名*/intcount=1;/*计算可输入数据的最大范围*/fp=fopenDataFilewb+;/*如果当前文件不存在,提示打开文件失败*/iffp==NULL{printf\nOpenfile%sfail!Endwithanykey.\nDataFile;perrorOpenfilefail;getch;exit1;}/*如果成功打开文件,则提示输入序号、用户名、密码、权限等相关信息*/printfinputnumbernameandpassword.numberis0meansinputisend.\n;printfNumberisnotexceed9figuresNameisnotexceed20charactersrangeofgrade:
0.00~
1000.00\n;/*循环从键盘上读取用户输入的用户相关信息*/whilecount=SIZE{printf\ninputnumber=0meansendinput.\n;printfnumber=;scanf%ldTmpS.Number;ifTmpS.Number==0break;printfname=;scanf%sTmpS.Name;printfpassword=;scanf%sTmpS.ps;printfpower=;scanf%dTmpS.power;printf\n;/*如遇无法写入文件的异常,则加以提示*/iffwriteTmpSsizeofuser1fp!=1{printf\nwritefile%sfail!Endwithanykey\nDataFile;perrorWritefilefail;getch;exit1;}count++;}/*如果输入的数据量超过最大允许的范围,则提示数据不能录入*/ifcountSIZEprintf\nsorrynumberofdatacannotexceed%d\nSIZE;fclosefp;/*====在屏幕上显示文件内容====*/printfThedatayouinputisstoresuccessful%sinfile.\nDataFile;printfContentasfollow:\n;fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printf\nNumber\tName\tps\tpower\n;whilefreadShowsizeofuser1fp!=intNULL{printf\n%ld\t%s\t%s\t%d\nShow.NumberShow.NameShow.psShow.power;/*printf\n%ld\t%s\t%
5.2f\t%
5.2f\t%
5.2f\t%
5.2f\t%
5.2f\nShow.NumberShow.NameShow.gongziShow.jiangjinShow.baoxian.Show.shuijinShow.heji;*/}fclosefp;}2voidAddUser功能增加顾客根据顾客输入的文件名打开顾客信息文件,进行添加记录操作,如没有文件存在,则创建输入
(1)要追加顾客信息记录的文件名
(2)若干条顾客信息记录
(3)输入序号为0,结束输入处理
(1)接收顾客输入的文件名、打开文件,当文件不存在时,创建文件
(2)提示顾客逐条输入顾客信息记录
(3)获取顾客输入的记录信息
(4)将完整的顾客信息记录存入文件
(5)循环判断顾客输入序号,如为0则就是输入
(6)读取文件,列表显示文件内容输出列表显示追加顾客信息记录后的文件内容程序清单adduser.c/*adduser.c增加用户信息记录*/#includestdio.hvoidAddUser{FILE*fp=NULL;userShow;userTmpS;charDataFile
[40]=yonghu;/*存储用户信息文件名*/intcount=1;/*计算可输入数据的最大范围*/fp=fopenDataFileab+;/*a+:当文件存在时,追加,当文件不存在时,创建*//*如果当前文件不存在,提示打开文件失败*/iffp==NULL{printf\nOpenfile%sfail!Endwithanykey.\nDataFile;perrorOpenfilefail;getch;exit1;}/*如果成功打开文件,则提示输入用户相关信息*/printfinputnumbernameandsalary.numberis0meansinputisend.\n;printfNumberisnotexceed9figuresNameisnotexceed20charactersrangeofgrade:
0.00~
1000.00\n;/*循环从键盘上读取用户输入的用户相关信息*/whilecount=SIZE{printf\ninputnumber=0meansendinput.\n;printfnumber=;scanf%ldTmpS.Number;ifTmpS.Number==0break;printfname=;scanf%sTmpS.Name;getchar;printfps=;scanf%sTmpS.ps;printfpower=;scanf%dTmpS.power;printf\n;/*如遇无法写入文件的异常,则加以提示*/iffwriteTmpSsizeofuser1fp!=1{printf\nwritefile%sfail!Endwithanykey\nDataFile;perrorWritefilefail;getch;exit1;}count++;}/*如果输入的数据量超过最大允许的范围,则提示数据不能录入*/ifcountSIZEprintf\nsorrynumberofdatacannotexceed%d\nSIZE;fclosefp;/*====在屏幕上显示文件内容====*/printfThedatayouinputisstoresuccessful%sinfile.\nDataFile;printfContentasfollow:\n;fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printf\nNumber\t\tName\tps\tpower\n;whilefreadShowsizeofuser1fp!=intNULL{printf\n%ld\t%s\t%s\t%d\nShow.NumberShow.NameShow.psShow.power;}fclosefp;}3voidDelUser功能删除根据顾客输入的文件名打开顾客信息文件,进行删除记录操作,如没有文件存在,则提示打开文件失败输入
(1)要删除顾客信息记录的文件名
(2)要删除顾客的顾客号码
(3)是否继续删除的选项字母处理
(1)接收顾客输入的文件名、用追加方式打开文件,当文件不存在时,提示错误
(2)提示顾客输入要删除顾客序号
(3)将文件中对应的顾客记录删除
(4)将进行删除操作后的文件进行保存
(5)读取文件,列表显示文件内容输出列表显示顾客删除顾客信息记录后的文件内容程序清单deluser.c*deluser.c删除用户信息*/#includestdio.hvoidDelUser{intijk;longdelnum;userTmpS;users[SIZE];/*SIZE,在user.h头文件中定义的常量,值为100*/intrecNumber;charDataFile
[40]=yonghunext;FILE*fp;/*====fp指针指向存储数据的文件名====*/begin:fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printfpleaseinputtheuserseatnumwhichyouwilldelete:;scanf%lddelnum;printftheuseryouwilldeleteis:%ld\ndelnum;recNumber=0;whilefreadTmpSsizeofuser1fp!=intNULL{ifTmpS.Number!=delnum{s[recNumber].Number=TmpS.Number;strcpys[recNumber].NameTmpS.Name;strcpys[recNumber].psTmpS.ps;s[recNumber].power=TmpS.power;recNumber++;}}printfendshuzuwhile;fclosefp;/*====将删除后的结构体记录写入文件====*/fp=fopenDataFilewb+;iffp==NULL{printf\nSetupfile%sfail!endwithanykey.\nDataFile;perrorSetupfail;getch;exit1;}fori=0;irecNumber;i++{iffwrites[i]sizeofuser1fp!=1{printf\nWritefile%sfail!endwithanykey.\nDataFile;perrorWritefilefail!;getch;exit1;}}fclosefp;/*====显示删除后的文件====*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printfthefileafterdeleteis:\n;printf\nNumber\t\tName\tps\tpower\n;whilefreadTmpSsizeofuser1fp!=intNULL{ifTmpS.Number!=0printf\n%ld\t%s\t%s\t%d\nTmpS.NumberTmpS.NameTmpS.psTmpS.power;}fclosefp;printf\nGoony/n;next=getche;putchar\n;ifnext==y||next==Ygotobegin;}4voidModifyByUserNumber功能修改根据顾客输入的文件名打开顾客信息文件,进行修改记录操作,如没有文件存在,则提示打开文件失败输入
(1)要修改顾客信息记录的文件名
(2)要修改顾客的顾客号码
(3)要修改的各项顾客记录的内容值
(4)是否继续修改的选项字母处理
(1)接收顾客输入的文件名、用读的方式打开文件,当文件不存在时,提示错误
(2)提示顾客输入要修改顾客序号
(3)提示顾客输入要修改的各项内容值
(4)将文件中对应的顾客记录进行修改
(4)将进行修改操作后的数组写入文件并进行保存
(5)读取文件,列表显示修改后的文件内容输出列表显示顾客修改价格信息记录后的文件内容程序清单munum.c/*munum.c按用户序号修改用户信息*/#includestdio.hvoidModifyByUserNumber{intijk;longmodnum;/*输入各项修改后信息*/longNumber;charName
[20];charps
[8];intpower;userTmpS;users[SIZE];/*SIZE,在user.h头文件中定义的常量,值为100*/intrecNumber;charDataFile
[40]=yonghunext;FILE*fp;/*====fp指针指向存储数据的文件名====*/begin:fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printfpleaseinputtheuserseatnumwhichyouwillmodify:;scanf%ldmodnum;printftheuseryouwilldeleteis:%ld\nmodnum;/*输入要修改纪录的信息*/Number=modnum;printfname=;scanf%sName;printfps=;scanf%sps;printfpower=;scanf%dpower;/*将文件中要修改的信息存入结构体数组*/recNumber=0;whilefreadTmpSsizeofuser1fp!=intNULL{ifTmpS.Number!=modnum{s[recNumber].Number=TmpS.Number;strcpys[recNumber].NameTmpS.Name;strcpys[recNumber].psTmpS.ps;s[recNumber].power=TmpS.power;recNumber++;}else{s[recNumber].Number=Number;strcpys[recNumber].NameName;strcpys[recNumber].psps;s[recNumber].power=power;recNumber++;}}printf\nrecNumber%d\nrecNumber;fclosefp;/*====将删除后的结构体记录写入文件====*/fp=fopenDataFilewb+;iffp==NULL{printf\nSetupfile%sfail!endwithanykey.\nDataFile;perrorSetupfail;getch;exit1;}fori=0;irecNumber;i++{iffwrites[i]sizeofuser1fp!=1{printf\nWritefile%sfail!endwithanykey.\nDataFile;perrorWritefilefail!;getch;exit1;}}fclosefp;fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printfthefileaftermodifyis:\n;printf\nNumber\t\tName\tps\tpower\n;whilefreadTmpSsizeofuser1fp!=intNULL{ifTmpS.Number!=0printf\n%ld\t%s\t%s\t%d\nTmpS.NumberTmpS.NameTmpS.psTmpS.power;}fclosefp;printf\nGoony/n;next=getche;putchar\n;ifnext==y||next==Ygotobegin;}5viodSortByUserNum功能按顾客序号排序浏览根据顾客输入的文件名打开顾客信息文件,进行按序号排序浏览操作,如没有文件存在,则提示打开文件失败输入要排序顾客信息记录的文件名处理
(1)接收顾客输入的文件名、用读的方式打开文件,当文件不存在时,提示错误
(2)用选择法进行排序
(3)将排序结果写入文件,并列表显示输出列表显示按顾客序号排序后的价格信息记录程序清单sunum.c/*sunum.c按顾客序号排序浏览顾客信息*/#includestdio.hvoidSortByUserNum{intijk;userTmpS;users[SIZE];/*SIZE,在shead.h头文件中定义的常量,值为100*/intrecNumber=0;charDataFile
[40]=yonghu;FILE*fp;/*====fp指针指向存储数据的文件名====*/fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}/*将文件中要排序的信息存入结构体数组*/whilefreadTmpSsizeofuser1fp!=intNULL{s[recNumber].Number=TmpS.Number;strcpys[recNumber].NameTmpS.Name;strcpys[recNumber].psTmpS.ps;s[recNumber].power=TmpS.power;recNumber++;}fclosefp;/*====如果文件中有记录,则将各条记录按序号排序===*/ifrecNumber1{/*====用选择排序法进行按序号的排序====*/fori=0;irecNumber-1;i++{k=i;forj=i+1;jrecNumber;j++{ifs[k].Numbers[j].Numberk=j;}TmpS.Number=s[k].Number;strcpyTmpS.Names[k].Name;strcpyTmpS.pss[k].ps;TmpS.power=s[k].power;s[k].Number=s[i].Number;strcpys[k].Names[i].Name;strcpys[k].pss[i].ps;s[k].power=s[i].power;s[i].Number=TmpS.Number;strcpys[i].NameTmpS.Name;strcpys[i].psTmpS.ps;s[i].power=TmpS.power;}/*====将排序好的结构体记录写入文件====*/fp=fopenDataFilewb+;iffp==NULL{printf\nSetupfile%sfail!endwithanykey.\nDataFile;perrorSetupfail;getch;exit1;}fori=0;irecNumber;i++{iffwrites[i]sizeofuser1fp!=1{printf\nWritefile%sfail!endwithanykey.\nDataFile;perrorWritefilefail!;getch;exit1;}}fclosefp;}/*====显示排序后的文件====*/printfThecontentintheuserfileis:.\nDataFile;printfContentasfollow:\n;fp=fopenDataFilerb;iffp==NULL{printf\nOpenfile%sfail!Endwithanykey\nDataFile;perrorOpenfilefail;getch;exit1;}printf\nNumber\tName\tps\tpower\n;whilefreadTmpSsizeofuser1fp!=intNULL{printf\n%ld\t%s\t%s\t%d\nTmpS.NumberTmpS.NameTmpS.psTmpS.power;}fclosefp;
3.
8.4系统主控平台
1.模块描述给管理员或顾客提供一个人机接口,提示用户输入代表功能的选项代码进行系统提供的功能选择,以调用对应的管理功能
2.平共处源文件定义admin.c管理员功能选择Guest.c客户功能选择
3.函数声明voidAdminvoidGuest5结束语本文按照软件开发的过程设计了一套中小型企业的商品管理系统,基本符合企业的特点和需求,而且很容易进行系统的升级和维护,对减少公司成本,提高公司的办公效率,增强公司的市场竞争力和规范企业内部管理,有着重要的作用本系统使用标准C语言进行开发实现,总体思想基于结构化的程序设计应用循环、选择等控制结构,实现小型商品管理系统的增、删、改、查等功能,大量信息的存储和操作用C语言中对文件的支持来实现,包括对文件的打开、读写等基本操作在软件开发过程中应用了软件工程的基本理论在设计的过程中,我遇到了诸多困难,主要原因是自己掌握的知识不够扎实,所以光有书本上的一些理论知识是远远不够的!通过实践我发现需要学习的东西还有很多,知识不是知道了,了解了就好,而一定要去应用它,发展它,这才是学习的根本目的而且知识也不是单一的,学科与学科之间都有着内在联系通过对课题的深层分析与研究,使我又对多门技术有了一定的了解在遇到困难时,我懂得了该怎样去应对,如何去查找和分析相关资料由于经验的缺乏和对整个系统的需求分析、功能设计等考虑不周到,设计出来的系统功能还是比较简单的,性能还不够优良,离实际使用还有很大一段距离,但能实现所要求的基本功能总体来说,本系统的设计具有良好的扩展能力并且便于维护,使用较为简便,但是由于时间和其他方面的限制原因,系统还有很多方面需要改进我相信在以后的学习生活中定能一步一步的去克服这些,使本系统功能越来越完善至此,毕业设计已经基本完成,毕业设计让我知道了开发过程的艰辛与快乐,也让我知道了自己本身知识、能力、经验的不足,从而更加激发我求知的欲望学习的目的就是应用,就是为了创造新的东西,虽然我的毕业设计功能简单,没有多少创新与实用价值,但从理论到实践的转化这一方面来说,意义颇为重大6参考文献参考文献[1]DeepakAlur,JohnCrupi,DanMalks著.刘天北,熊节等译.J2EE核心模式第二版.北京机械工业出版社,
2005.[2]JohnHunt,ChrisLoftus著.周立斌等译.精通J2EE———Java企业级应用.北京清华大学出版社,
2004.[3]PaulJ.Perrone,etal.著.张志伟,谭郁松,张明杰译.J2EE构建企业系统———专家级解决方案.北京清华大学出版社,
2001.[4]梁立新.项目实践精解基于Struts-Spring-Hibernate的Java应用开发.北京电子工业出版社,
2006.[5]杨少波.J2EE项目实训Hibernate框架技术.北京清华大学出版社,
2008.[6]林上杰,林康司.JSP
2.0技术手册.北京电子工业出版社,
2004.[7]陈荣祥.中国五金商品行业发展趋势展望2005年文献.中国经济时报
2005.6[8]冯冲江贺冯静芳.软件体系结构理论与实践第一版.北京:人民邮电出版社
2004.10[9]孙昌爱金茂忠刘超.软件体系结构研究综述.软件学报
2006.12[10]鲍丽红周荣辉.基于B/S模式的综合信息系统集成平台的安全性措施.天水师范学院学报
2006.7[11]张学军.基于B/S模式的五金销售管理系统的设计与实现[J].计算机应用研究
2003.8[12]季香君徐瑞圆陈琦.基于B/S结构的销售管理系统.河北工业科技学院
2005.67致谢致谢本篇论文是在王青松老师的精心指导下完成的,从选题到课题设计到论文撰写王老师都给予了我精心的指导和不懈的支持对于我来说,本科四年的学习阶段,所学知识还不够扎实,所以刚起步的时候有点吃力,完成本课题也有比较大的困难可是通过这次煅炼,使我在系统开发方面有了很大的进步,由此积累的经验将对我以后的工作和学习产生帮助在此谨向王老师致以诚挚的谢意和崇高的敬意通过本次毕业设计,我对书本上的知识点和理论有了更深一层的了解,使我学会了如何利用所学的知识把理论结合于实践中进一步掌握了系统开发的方法从而对本专业也有了更深刻的认识此后我会加倍努力去学习在熟练的基础上掌握更多的新型技术来提高自己的开发水平本次毕业设计得到了学院领导和老师的重视关心,此外还有老师、同学以及提供了大量电子图书资料的网站,如果没有他们的帮助,我想我是很难完成好毕业设计工作的也要感谢我的同学在设计完成过程中对我的帮助,是这些同学的不吝赐教让我受益良多,在此一并表示感谢在本论文完成之际,再次感谢学校领导、系领导及我的导师的帮助与支持最后还要衷心地感谢参加答辩评审的各位老师学位论文原创性声明本人郑重声明所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢本人完全意识到本声明的法律结果由本人承担学位论文作者(本人签名)年月日学位论文出版授权书本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》以下简称“章程”,愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益论文密级□公开□保密(___年__月至__年__月)保密的学位论文在解密后应遵守此协议作者签名_______导师签名______________年_____月_____日_______年_____月_____日独创声明本人郑重声明所呈交的毕业设计论文,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明本声明的法律后果由本人承担 作者签名:二〇一〇年九月二十日 毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用(保密论文在解密后遵守此规定) 作者签名:二〇一〇年九月二十日致谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础本次毕业设计大概持续了半年,现在终于到结尾了本次毕业设计是对我大学四年学习下来最好的检验经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步这期间凝聚了很多人的心血,在此我表示由衷的感谢没有他们的帮助,我将无法顺利完成这次设计首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象从他身上,我学到了许多能受益终生的东西再次对周巍老师表示衷心的感谢其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去回首四年,取得了些许成绩,生活中有快乐也有艰辛感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护学友情深,情同兄妹四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育最后,我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢系统主控平台权限管理模块顾客验证模块商品信息管理模块小型商品管理系统顾客验证模块获取用户名,密码身份验证及权限判断进入权限对应管理界面重新登录或退出商品信息管理模块创建商品信息文件增加商品信息记录删除商品信息记录修改商品信息记录查询商品信息商品价格信息排行初始化用户信息增加新用户权限管理删除用户修改用户浏览用户信息系统主控平台普通顾客主控平台管理员主控平台否普通顾客管理员是是否开始用户登录登录名密码正确重新登录管理员/顾客管理员系统主控平台权限管理商品信息管理退出商品信息浏览商品信息查询退出普通顾客系统主控平台结束。