超市商品管理系统(含附源代码)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

黔南民族师范学院软件设计课程设计报告题目:超市商品管理系统系部名称:计科系专业名称:信息管理与信息系统班级:B12计信班学号:1208045139学生姓名:胡崇祯指导教师:黄茹时间:2013年11月9日至2013年12月8日一、课程设计目的1.通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。2.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。3.为后续各门计算机课程的学习打下坚实基础。4.为毕业设计和以后工作打下必要基础。二、课程设计内容1.编写程序并进行调试运行。2.输入商品信息,并保存于文件。每个商品信息包含信息如:库存量、进价、售价、保质期、生产商等。3.对已存入的商品信息进行更新操作,包括添加一个商品信息、删除某个商品信息和修改某个商品信息。4.通过输入商品名、商品号、商品类型的方式查询商品信息。5.最后输出商品信息,供需要时打印。三、需求分析1.该程序可用于对商品基本信息的存储、更新、查询、排序、输出等操作,以实现对商品信息的管理。2.其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个或多个商品信息,也可对个别商品信息进行适当的删除或修改。以便随时更新商品信息。3.程序中设计的查询功能可根据需要从若干数据中查询某个商品信息,并且可根据三种不同的方法查询:按商品号查询、按商品类型和按商品查询,以满足不同的需要。四、概要设计1、方案设计对系统进行分析,给出结构图分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计结构图如下:2、模块功能说明(对各个模块进行功能的描述)(1).输入模块:录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。(2).添加模块:可添加一个或多个商品信息,并将所添加商品信息保存,方便查找。(3).删除模块:可对售完的商品信息做删除处理。(4).修改模块:可根据需要对多个商品信息进行修改,也可随时对个别项进行修改。(5).查询模块:可对已建立的商品信息进行查询,并且可根据需要选择按商品名查询或按商品号查询。(6).保存模块:用于对信息进行保存。(7).输出模块:将所有商品信息或想要查询的商品信息显示于屏幕,用于打印商品信息或查找某些商品信息。(8).退出系统:选择该项,自动退出该系统。商品信息管理系统输入模块更新模块查询模块排行模块输出模块退出系统添加信息删除信息修改信息按商品号查询按商品名查询按商品类别查询按库存量排行五、详细设计及运行结果是是否否开始输入i的值判断i的值输入模块输出模块更新模块查询模块排序模块输入i的值输入i的值退出系统判断i的值判断i的值添加信息删除信息修改信息返回菜单返回主菜单按类别查询按商品名查询是否继续按商品号查询是否继续保存数据结束输入模块:输出模块:是否排行模块:输入模块输入信息是否继续返回主菜单输出模块输出信息返回主菜单排行模块输入i的值判断i的值按商品号排行输出按商品类型排行输出返回主菜单返回主菜单六、调试情况,设计技巧及体会1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,开始时,数据的输出格式不太规范,而且各模块也出现了一些小问题,在老师和同学的帮助下,通过自己一次又一次的进行调试和修改,最后运行的结果基本上达到了预期的目的。由于时间问题和考虑得不够周全,可能在某些功能上不是很完善,不过已有的功能已能基本满足一般用户的需求,如果能通过不断的实验和使用过程中所积累的问题进行改进。如:数量,价格的输入值为负值时,程序也能继续执行,这就给运用上带来一些不便或可能出现一些莫名其妙的错误。不过总的来说,对于自己首次能够自主完成一个这样大的程序来说,还是比较满意。2、在设计过程中的感受。本次C语言的实习课让我对C语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识较缺乏的大学生增添了许多实践经验,为我们将来走上工作岗位其了不小的铺垫作用。本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到自己一般写过的大量程序,给了我继续的信心。在老师和同学的帮助下,我顺利的完成了本次实习,让我体会到了经过不懈的努力,有过挫折有过坎坷,但最终实现目标后的成就感,也让我充分感受到友谊和团结的重要性。七、参考文献《C语言程序设计》王曙燕曹锰八、附录:#includestdio.h#includemath.h#includestring.h#includeconio.h#includestdio.h#includestring.h#defineMAX20#definePRINT1printf(---------------------------------------------------------\n)#definePRINT2printf(商品号--商品名称--商品种类--销售价格--生产日期(年-月-日)--保质期\n)#definePRINT3printf(%4d%8s%8s%8d%8d-%2d-%2d%4d\n,goods[i].num,goods[i].name,goods[i].kind,goods[i].out_price,goods[i].pro_time.year,goods[i].pro_time.month,goods[i].pro_time.day,goods[i].save_day)intsum;structdate{intyear;intmonth;intday;};structgoods_type/*定义结构体*/{intnum;charname[10];charkind[10];intamount;intin_price;intout_price;structdatepro_time;intsave_day;intprofit;}goods[MAX];Save_Message(intsum);/*函数声明*/voidInquire_message(void);voidInquire_goodskind(void);voidInquire_goodsname(void);intRead_Message(void);voidRenew_Messahe(void);voidRevise_Message(void);voidDelete_Message(void);voidInsert_Message();voidShow_Message(void);intInput_Message(void);voidCount_Message();longCount_Profit();longCount_Amount();voidSort_amount(void);voidSort_Message(void);voidSort_Message(void){intchoice;do{clrscr();printf(\n\n\n*******商品信息排行********\n\n);printf(1:按库存量排行\n\n);printf(0:返回主菜单\n\n);printf(请选择(0-1):);scanf(%d,&choice);switch(choice){case1:Sort_amount();break;case0:break;}}while(choice!=0);}voidSort_amount(void)/*库存量排序*/{structgoods_type*p,*q[MAX];inti,j,k;clrscr();printf(库存排行);PRINT1;printf(\n\n排名商品号商品名称商品类别库存量\n\n);p=goods;for(i=0;isum;i++)q[i]=p++;for(i=0;isum;i++){k=i;for(j=i+1;jsum;j++)if(q[k]-amountq[j]-amount)k=j;if(k!=i){p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;isum;i++){printf(%d,i+1);printf(%d,q[i]-num);printf(%s,q[i]-name);printf(%s,q[i]-kind);printf(%d\n,q[i]-amount);}bioskey(0);}longCount_Amount()/*统计库存量*/{inti,j=0,choice,count_num,Amount;charinquire_name[10];clrscr();printf(\n请输入想要统计的商品号:);scanf(%d,&count_num);for(i=0;isum;i++)if(goods[i].num==count_num){Amount=goods[i].amount;printf(-------------------------);printf(商品号库存量);printf(\n%8d%8d,goods[i].num,Amount);}elsej++;if(j==sum)printf(该商品信息不存在!!!);bioskey(0);}longCount_Profit()/*统计利润模块*/{inti,choice,j=0,count_num,profit;clrscr();printf(\n请输入想要统计的商品号:);scanf(%d,&count_num);for(i=0;isum;i++)if(goods[i].num==count_num){profit=goods[i].out_price-goods[i].in_price;printf(\n商品利润);printf(\n-------------------------------);printf(\n商品号利润);printf(\n%8d%8d\n,&goods[i].num,&profit);}elsej++;if(j==sum)printf(\n该商品不存在!!!);printf(\n按任意键返回主菜单!!);bioskey(0);}voidCount_Message(void)/*统计模块*/{intchoice;do{clrscr();printf(**************统计商品信息*************\n\n\n);printf(*******1:统计库存量************\n\n\n);printf(*******2:统计利润************\n\n\n);printf(*******0:返回主菜单************\n\n\n);printf(*******请选择(0-2):************\n\n\n);scanf(%d,&choice);switch(choice){case1:Count_Amount();break;case2:Count_Profit();break;case0:break;}}while(choice!=0);}intInput_Message(void)/*输入模块*/{inti=0,s=MAX;charbd;clrscr();printf(开始输入商品信息.\n);printf(\n\n商品信息:(最多%d)\n,s);printf(===============================\n);do{printf(\n第%d商品,i+1);printf(\n商品号:);scanf(%d,&goods[i].num);if(goods[i].num==0)break;printf(\n商品名称:);scanf(%s,goo

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功