《超市管理系统C语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《超市管理系统C语言课程设计报告.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、超市管理系统C语言课程设计报告 超市管理系统 本设计运用C语言程序设计了一个超市管理系统。主要实现的功能有进货功能、退货功能、商品销售功能、商品信息查询功能、商品信息浏览功能。 1.开发工具和编程语言: 开发工具:MicrosoftVisualC+6.0 编程语言:C语言 2.模块划分 3.系统功能与函数的对应关系 本系统包括一个主函数和6个被调函数,分别如下: (1)主函数voidmain() (2)功能选择函数voidgongneng() (3)进货功能函数voidjinhuo() (4)退货功能函数voidtuihuo() (5)商品销售函数voidspxs() (6)信息查询函数voi
2、dxxcx() (7)信息浏览函数voidspxxpx() 4.结构体类型说明 商品信息包括:商品编号、商品名称、商品进价、商品售价、商品库存数量。结构体类型定义为: structxinxi/结构体 charbh30;/商品编号 charbhstr30;/商品名称 floatjinjia;/商品进价 floatshoujia;/商品售价 intkucun;/商品库存数量 ; 5.系统函数的设计与实现 5.1主函数 主函数中运行功能选择函数,运行时可以显示系统界面,系统界面如图5-1所示。 图5-1系统主界面 主函数中可以实现各种功能的选择。 5.2进货功能函数 (1)流程图 进货功能函数实现进
3、货功能,能够实现要进货商品的信息添加或录入。进货时,先检测本商品是否存在,若存在则修改库存数量等相关信息;否则添加本商品的相关信息。 进货流程图如图5-2 是 (2)系统代码 voidjinhuo()/进货处理函数 charstr30; inti,a=2; while(a=2) printf(请输入商品的名称:); scanf(%s,str); for(i=0;i=b)/如果没有找到要进货的商品,则添加商品信息 printf(添加商品信息:n); printf(请输入商品编号:); scanf(%s,si.bh); printf(请输入商品名称:); scanf(%s,si.bhstr); p
4、rintf(请输入商品进价:); scanf(%f,&si.jinjia); printf(请输入商品售价:); scanf(%f,&si.shoujia); printf(请输入商品库存数量:); scanf(%d,&si.kucun); printf(商品信息添加完成n); b+; printf(请选择:); printf(1.返回开始菜单); printf(2.继续进行进货处理); scanf(%d,&a); (3)运行效果 输入:选项1 输出:请输入商品的名称: 输入:1 输出:添加商品信息 请输入商品编号: 输入:1 输出:商品信息添加完成 请选择:1.返回开始菜单2.继续进行进货处
5、理 输入:2 输出:请输入商品名称: 输入:1 输出:编号:1,进价:1.0,售价:1.0,库存数量:1 请输入新库存: 输入:2 输出:库存信息修改完成 请选择:1.返回开始菜单2.继续进行进货处理 输入:1 返回开始菜单 运行效果图如图5-3所示。 图5-3进货功能运行界面 5.3退货功能函数 (1)流程图 退货功能函数实现退货功能,能够实现要退货商品的信息修改。退货时,修改库存数量等相关信息;若库存数量为0,提示是否删除本商品,若选“是”则删除该商品的信息。 退货流程图如图 图5-4 (2)系统代码 voidtuihuo()/退货处理函数 inti,a,c=2,d; charstr30;
6、 while(c=2) printf(请输入要退的商品名称:); scanf(%s,str); for(i=0;isi.kucun)/购买的数量如果大于库存数量 printf(商品库存数量不足,请重新输入要购买的数量:); scanf(%d,&sl); printf(应收金额为:); je=sl*si.shoujia;/计算购买该商品的金额 printf(%5.1fn,je); si.kucun=si.kucun-sl;/修改库存信息 printf(应收总金额为:); jez=jez+je;/计算购买商品的总金额 printf(%5.1fn,jez); break; if(i=b)/如果没有找
7、到该商品 printf(对不起,未找到该商品n); printf(请选择:); printf(1.结账); printf(2.继续购买商品); scanf(%d,&a); if(a=1)/结账 printf(请输入实收金额:); scanf(%f,&ssje); while(ssjejez)/如果实收金额小于应收总金额 printf(金额不足,请选择:); printf(1.重新付款); printf(2.取消购买); scanf(%d,&c); if(c=1)/重新付款 printf(请输入实收金额:); scanf(%f,&ssje); else/取消购买某种商品 printf(请输入取消
8、购买商品的编号或名称:); scanf(%s,str); for(i=0;ib;i+) if(strcmp(str,si.bh)=0)|(strcmp(str,si.bhstr)=0)/查找要取消购买的商品 printf(请输入取消购买的数量); scanf(%d,&sl); si.kucun=si.kucun+sl;/修改库存信息 jez=jez-sl*si.shoujia;/重新计算总金额 printf(取消购买成功n); zl=ssje-jez;/找零 printf(找零%5.1fn,zl); printf(购买成功n); if(a!=2) printf(请选择:); printf(1.返回开始菜单); printf(2.继续购买商品); scanf(%d,&a); jez=0; (3)运行效果 输入:3 输出:请输入购买商品的编号: 输入:1 输出:请输入要购买的数量: 输入:1 输出:应收金额为:1.0 应收总金额为:1.0 请选择:1.结账2.继续购买商品 输入:2