1目录1系统分析....................................................................................................................21.1课程设计内容..................................................................................................21.2系统功能需求分析..........................................................................................21.3数据结构设计..................................................................................................32系统设计....................................................................................................................32.1总体设计..........................................................................................................32.2详细设计..........................................................................................................42.2.1界面设计................................................................................................42.2.2各功能模块的设计................................................................................63系统编码设计............................................................................................................93.1main函数..........................................................................................................94系统运行..................................................................................................................225总结..........................................................................................................................2621系统分析1.1课程设计内容商场商品信息管理系统1.2系统功能需求分析本系统应具有以下功能:1、文件操作功能文件操作:可建立、打开、保存、关闭数据文件。如果是新建的文件,可输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。2、数据输入功能输入进货信息:输入商品编号、数量完成进货操作。输入销售信息:输入商品编号、数量完成销售操作,注意当销售数量大于商品数量时,应出现错误提示。3、数据添加、修改、删除功能添加:添加一种或多种新商品,并能输入其商品信息。修改:修改商品信息,可包括商品编号、名称、种类、数量和单价。删除:删除一类或多类商品的所有信息。4、计算功能可通过查询商品信息功能,自动计算并输出需要进货的商品信息。5、查询功能可分别按商品编号、名称、类别和需要进货的商品进行查询。6、排序功能可分别按商品编号、名称、类别等进行排序。7、数据显示功能可分别浏览输入、查询和排序后的商品信息。31.3数据结构设计structgoods/*商品结构体*/{longintnum;/*商品编号*/charname[20];/*商品名称*/charsort[20];/*商品类别*/longintcount;/*商品库存量*/longintprice;/*商品单价*/}goods[200];/*最多200个商品*/2系统设计2.1总体设计按系统分析的功能要求将系统划分为以下几个主要功能模块:一、文件管理文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。二、进出货管理商品进货:输入数据后商品信息能自动更新进行添加商品销售:输入数据后商品信息能自动更新进行减少三、商品数据管理增加/删除商品:添加或删除某条商品的信息修改商品信息:对某条商品的信息进行修改四、浏览商品信息管理查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询排序商品信息:可按商品编号、名称、类别分别排排序浏览商品信息:可浏览输入、查询或排序后的数据。(此处可用图形描述功能模块划分,类似下图)42.2详细设计2.2.1界面设计1、菜单设计欢迎界面:系统提示:商场商品信息管理系统商品数据管理浏信览息商管品理文件管理进出货管理打开关闭保存查询数据输入数据排序数据修改添加出货进货删除5菜单设计:2、输入界面的设计3、信息显示界面的设计62.2.2各功能模块的设计根据划分的功能模块,定义以下函数实现各功能:(这部分应介绍各函数的原型,各功能模块实现所用的算法,可用流程图描述)1、主函数main()定义主函数为空类型(void);利用选择结构(switch)实现在在主函数中的调用各个子函数,利用goto和子函数中的return语句实现返回主菜单的循环。声明各个子函数输出欢迎界面输出菜单switch(m)1输入商品信息2排序商品信息3输入商品进货信息4输入商品销售信息5增加/删除商品6修改商品信息7查询商品信息8浏览商品信息9保存商品信息清屏幕2、子函数(1)voidinput():输入函数确定新的库存量n,输入商品信息,用for循环语句直到输入商品种类等于n,结束输入;7scanf(n)for(i=0;i=n;i++)将数据存入结构体成员return(2)voidsequence():排序函数对已有的商品进行排序,可按商品编号、名称、类别进行排序;longtemp;charp1[30],p2[30];按编号排序for(k=0;kn-1;k++);for(i=0;in-k-1;i++)if(goods[i].numgoods[i+1].num)是排序输出排序后结果按名称排序for(k=0;kn-1;k++)for(i=0;in-k-1;i++)if(strcmp(goods[i].name,goods[i+1].name)0)是排序输出排序后结果按类别排序for(k=0;kn-1;k++)for(i=0;in-k-1;i++)if(strcmp(goods[i].sort,goods[i+1].sort)0)是排序输出排序后结果(3)voidpurchase():进货函数进货函数主要是针对已有库存的商品,在原来的商品数量再增加:for(i=0;in;i++)if(temp==goods[i].num);是输入数量Return8(4)voidsale():销售函数要求用户输入所销售的编号,系统用for循环查询该商品是否存在,不存在要求再进行输入,直到输入正确,输出销售商品:for(i=0;in;i++)if(k==goods[i].num)if(agoods[i].count)出现输入错误提示;重新输入scanf;for(i=0;in;i++)输出销售商品(5)voidedit():添加/删除商品因为在进货函数已经实现对已有商品的数量的增加,此模块函数主要实现对新商品的添加或对旧商品的删除,并自动处理数据,可以在浏览中输出,用选择语句switch进行俩者操作的选择:定义变量longtemp;声明函数voidadd();voiddele();switch(k)k=1k=2add();dele();break;break;(6)voidcorrect():修改数据函数对有错误信息商品进行修改,输入需要修改的商品编号,用for循环与if语句找到此商品,重新输入该商品的新信息,并输出:longtemp;scanf(temp);for(i=0;in;i++)if(temp==goods[i].num)输入新信息for(i=0;in;i++)输出修改后商品信息(7)voidsearch():查询函数用switch(k)语句可分别按商品编号、名称、类别或需要进货商品查询;每个case选择中均用for语句查找要查询的商品,并输出查询结果。9longtemp1;chartemp2[20],temp3[20];switch(k)case(k)输出查询商品信息(8)voidscan():浏览商品函数可分别进行浏览输入的商品信息、查询的商品信息、排序后商品信息,用switch进行这三种方式的选择。scnaf()switch(k)casefor(i=0;in;i++)输出所要浏览信息;break;(9)voidreserve():保存文件建立文件FILE*fp;charfile[15]用来存放文件保存路径以及文件名,进行清屏,输入文件路径及文件名,利用fp=fopen(file,w+)实现创建并打开一个文件,并得到该文件的地址的功能,显示fprintf(fp,商品编号\t商品名\t商品类别\t商品数量\t商品价格\n);最后输出已保存文件,程序中是由PR(商品编号\t商品名\t商品类别\t商品数量\t商品价格\n);语句执行。scanf(n)for(i=0;i=n;i++)将数据存入结构体成员return3系统编码设计(这部分将代码列出,注意,每个函数开始处要介绍函数的功能,重要的代码应有注释,代码格式按锯齿式编排)3.1main函数#includestdio.h10#includestring.h#includestdlib.h#definePRprintf#defineSCscanfstructgoods{longintnum;charname[20];charsort[20];longintcount;longintprice;}goods[200];intk,n,i;voidmain(){voidinput();voidsequence();voidpurchase();voidsell();voidedit();voidcorrect();voidsearch();voidscan();voidreserve();voidexit();PR(\n******************************************************************\n*\t\t\t\t\t\t\t\t*\n);PR(*▏▎▍▌▋▊█▇▆▅▄▃▂▁*);PR(\n*\t\t\t\t\t\t\t\t*\n*Welcome\t\t\t\t\t\t*\n*\t\t\t\t\t\t\t\t*\n);PR(*\t\ttogointo....\t\t\t\t*);PR(\n*\t\t\t\t\t\t\t\t