唐山学院C语言程序设计课程设计题目二手商品交易管理系统设计系(部信息工程系班级14电信4班姓名张时雨学号4140220422指导教师李佳2015年3月2日至3月13日共2周2015年3月13日c语言课程设计任务书一.设计题目,内容及要求。1.设计题目:二手商品交易管理系统设计2.设计内容:设计一个二手商品交易管理系统程序。基本信息包括:商品编号、商品名称、商品价格、购买数量、库存数量、生产厂商、生产日期、备注等。该程序应该具有如下功能:(1)信息的添加;(2)信息的删除;(3)信息的查询;(4)信息的修改;(5)提供一些统计各类信息的功能等。3.设计要求:程序结构合理、算法准确、语法正确,并生成可执行文件。二.要求的设计成果(课程设计说明书、设计实物、图纸等)1.课程设计说明书:课程设计说明书1份,不少于2000字。说明书中要包含需求分析、总体设计、详细设计以及主要的算法描述等内容。2.源代码:程序清单,实现应用程序的功能。注重编码的质量,代码要有适当的注释。三.进程安排(3.2-3.3):完成需求分析。(3.4-3.6):完成程序主体功能的设计。(3.9-3.10):程序调试无误,生成可执行文件。(3.11-3.12):撰写课程设计说明书初稿。(3.13):提交课程设计说明书、程序和数据。四.主要参考资料[1]谭浩强,张基温.C语言程序设计教程(第3版)[M].北京:高等教育出版社,2006[2]吕凤煮.C语言基础教程——基础理论与案例[M].北京:清华大学出版社,2005[3]黄明、梁旭、万洪莉.C语言课程设计[M].北京:电子工业出版社,2006[4]郭宁,郑小玲.管理信息系统[M].北京:人民邮电出版社,2006[5]赵池龙,杨林,陈伟.实用软件工程[M].北京:电子工业出版社,2006指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数缺勤天数成绩出勤情况及设计过程表现(20分)课设答辩(20分)评定设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定指导教师签名:年月日1引言21世纪,我们进入了信息时代,计算机的使用大大方便了我们的日常生活,人工的商品信息查询已经不能满足我们的要求,查询困难等缺点是人工查询所不能克服的。在此情况下,就需要一个程序化的自动的商品信息查询系统来满足人们的需求。在c语言的平台下实现,用户可以方便的进行各项操作。c语言是一种程序设计语言,早在20世纪90年代,c语言表现出了强劲的生命力,c语言是一种结构化语言。[1]它层次清晰,便于按模块化方式组织程序,易于调试和维护。c语言的表现能力和处理能力极强。[2]它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。[3]它还可以直接访问内存的物理地址,进行位(bit)一级的操作。[4]由于c语言实现了对硬件的编程操作,因此c语言集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也适合于应用软件的开发。[5]此外,c语言还具有效率高,可移植性强等特点。因此可以广泛地移植到了各类型计算机上,从而形成多种版本的c语言。采用结构体数组和文件的方式,完成了对数据的录入、显示、排序、查找、删除、修改、插入、保存等功能2总体设计软件提供了一个对二手商品信息进行管理和查看的平台,给用户提供了一个简单友好的用户接口,功能需求如下:2.1密码系统通过已定密码进入对应管理目录,从而进行相应的操作功能。2.2录入用户根据提示输入的商品的编号、生产日期等信息要素。2.3存盘系统将商品信息记录存储在系统磁盘的文件中,以便进行管理、检索和备份。2.4删除删除商品的信息:提示管理员输入要进行删除操作的商品编号,如果在文件中有该商品的信息存在,则将该序号所对应的名称、序号等要素在对应文件中加以删除。并提示管理员选择是否继续进行删除操作。2.5修改提示管理员输入要进行修改操作的商品编号,如果在文件中有该商品的信息存在,则将提示管理员输入该序号对应的商品名称、单价要素等需要修改的选项,并将修改结果存储于文件。该部分需求也需要提示管理员选择是否继续进行修改操作。2.6检索分为根据名称检索和根据序号检索两个具体需求,分别提示用户输入要检索商品信息的序号或名称,如果在磁盘文件中有对应的商品单价信息,则提示用户已找到,并逐项列出对应商品的详细信息。在该功能中,需提示用户是否需要继续检索,如不再继续检索,则返回主界面,并可进行模糊查找。2.7浏览逐条显示全部记录2.8插入可在原有商品信息文件的基础上增加新的商品信息记录。在增加新记录的过程中,系统提示管理员输入单价要素项,存入文件对应的记录中。2.9退出系统商品管理系统图1系统总体功能结构图录入商品查询商品删除商品修改商品插入商品排序商品统计商品退出系统3详细设计3.1系统化分析将程序整体进行模块化处理,使程序编译思路更加清晰,降低了编译程序的难度。商品信息中包含编号、生产日期、数量、单价等基本信息,程序具有信息录入、删除、修改、浏览、检索和存盘等功能。3.2主函数及主界面首先设计出主函数,就有了程序的框架,有了主调用函数和主菜单,从主界面可以选择所要求的操作,使操作方便,易于进行查找、添加、修改、删除等功能。printf(------------------------------------------------------------------------------\n);printf(1、商品名称\n);printf(2、商品编号\n);printf(3、生产厂家\n);printf(4、生产日期\n);printf(5、购买量\n);printf(6、库存量\n);printf(7、备注\n);printf(8、商品价格\n);printf(请选择0-7数字键\n);3.3密码管理服务通过输入密码,管理员可以进行商品信息修改、商品信息录入等操作。printf(***************************************************\n);printf(\n);printf(★★★★★★★★请输入密码:★★★★★★★★\n);printf(\n);printf(***************************************************\n);3.4添加模块系统管理员通过此模块可以在原有记录的基础上随意的添加其他商品信息,通过系统的提醒依次的录入所要记录的商品的所有信息,可以添加多个信息,并且不需重新回到主界面,直接在系统的提示下进行再次输入。printf(请输入第%d个商品的信息:\n,i+1);printf(商品名称:);scanf(%s,goods[i].name);printf(\n);printf(备注:);scanf(%s,goods[i].sex);printf(\n);printf(生产厂家(年-月-日):);scanf(%s,&goods[i].d1);printf(\n);printf(生产日期(年-月-日):);3.5删除模块管理员通过这块模块可以对不需要的信息进行删除,使用方便,只需要输入所要删除的商品信息编号即可,系统会自动搜索,确定删除后此信息消失。voidshanchu()//**删除函数*{inti,j,flag=0;chars1[30];charch;printf(请输入要删除商品的商品编号:\n);scanf(%s,s1);3.6修改模块考虑到有些信息可能会发生变动,该系统设置了修改模块,如果某个编号的信息发生变动,管理员可以通过此模块对该编号下的其他信息进行修改。printf(\n);printf(请输入要要修改的商品的商品编号:\n);scanf(%s,s1);for(i=0;iM;i++)if(strcmp(goods[i].num,s1)==0)/*比较字符串是否相等*/j=iprintf(------------------------------------------------------\n);printf(1.修改商品名称\n);printf(2.修改备注\n);printf(3.修改生产厂家\n);printf(4.修改生产日期\n);printf(5.修改购买量\n);printf(6.修改库存量\n);printf(7.修改商品价格\n);printf(8.退出本菜单\n);printf(-----------------------------------------------------\n);3.7查询模块亦称检索模块。如果信息太多查找起来很不方便,对此我们系统设计了查找模块,使用户可以很方便的找到自己需要的信息。本模块可通过输入商品的一部分信息进行查找,之后系统会显示其所有的信息。输入信息不存在则退出本次查询。printf(------------------------------------------------------------------------------\n);printf(1、商品名称\n);printf(2、商品编号\n);printf(3、生产厂家\n);printf(4、生产日期\n);printf(5、购买量\n);printf(6、库存量\n);printf(7、备注\n);printf(8、商品价格\n);printf(请选择0-7数字键\n)3.8保存模块该模块的作用是保存管理员所存信息,以便用户查找。voidsave()/*保存数据函数*/{FILE*fp;inti;char[20],ch;printf(输入要保存的文件路径:);scanf(%s,&);if((fp=fopen(d:\\,w))==NULL){printf(\n保存失败!);exit(0);voidsave()/*保存数据函数*/{FILE*fp;inti;char[20],ch;printf(输入要保存的文件路径:);scanf(%s,&);if((fp=fopen(d:\\,w))==NULL){printf(\n保存失败!);exit(0);3.9退出系统当对系统操作完成以后,想退出此操作只需在界面中选择退出系统模块的代号,系统就自动退出此次运行程序。4调试与测试经过系统的分折与设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件和文件,建立一个可执行的系统。然后需要对系统送行测试和排错,保证系统符合预定的要求。获得一个无错的系统实现,调试的结果将确认所完成的系统可以真正使用。测试方法上使用以界面为基础的测试。以界面为基础的测试仅仅依靠软件与其运行环境之间的接口来选择和产生测试资料,而不管软件的具体需求和具体实现细节。本次测试通过模拟一次完整的查询过程,测试范围包括用户的登录、密码管理,商品的发布、查询、删除等,并且对了系统后台的管理功能进行了测试。测试结果显示系统基本能够实现预期的功能,能够提供用户对商品信息的实时发布和查询,提供了一个简单的网上二手商品交易管理系统。但是部分功能仍旧需要加强或者改进,如商品的分类管理不够详尽,没有实现对订单的高效率管理,商品信息的内容发布不够规范等图2系统主要功能界面图3商品信息添加界面图4密码管理界面5总结这次的C语言程序设计实习有效的培养了学生独立思考的能力,提高了学生的动手操作水平。在具体操作中,巩固了这学期所学的C语言的理论知识,这也是实习的基本目的。通过实际操作,学会了C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。培养了学生独立思考问题的能力,提高了实际操作水平。通过这次对二手商品交易管理系统的编译,我们了解了C语言程序设计的思想,我们的程序很实用,程序可以顺利的运行,并显示出主功能菜单,输入对应的数字,就可以执行相应的功能。但它依然有许多不足之处,我所编译的程序容量有限,而且每次操作都要回到主界面,其次在数据存储功能方面有所不足,在这方面该系统还有待于进一步优化。C语言是一种基础的计算机高级