超市管理系统C语言课程设计报告.docx
超市管理系统C语言课程设计报告 超市管理系统 本设计运用C语言程序设计了一个超市管理系统。主要实现的功能有进货功能、退货功能、商品销售功能、商品信息查询功能、商品信息浏览功能。 1.开发工具和编程语言: 开发工具:MicrosoftVisualC+6.0 编程语言:C语言 2.模块划分 3.系统功能与函数的对应关系 本系统包括一个主函数和6个被调函数,分别如下: (1)主函数voidmain() (2)功能选择函数voidgongneng() (3)进货功能函数voidjinhuo() (4)退货功能函数voidtuihuo() (5)商品销售函数voidspxs() (6)信息查询函数voidxxcx() (7)信息浏览函数voidspxxpx() 4.结构体类型说明 商品信息包括:商品编号、商品名称、商品进价、商品售价、商品库存数量。结构体类型定义为: structxinxi/结构体 charbh30;/商品编号 charbhstr30;/商品名称 floatjinjia;/商品进价 floatshoujia;/商品售价 intkucun;/商品库存数量 ; 5.系统函数的设计与实现 5.1主函数 主函数中运行功能选择函数,运行时可以显示系统界面,系统界面如图5-1所示。 图5-1系统主界面 主函数中可以实现各种功能的选择。 5.2进货功能函数 (1)流程图 进货功能函数实现进货功能,能够实现要进货商品的信息添加或录入。进货时,先检测本商品是否存在,若存在则修改库存数量等相关信息;否则添加本商品的相关信息。 进货流程图如图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); printf("请输入商品进价:"); 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.继续进行进货处理 输入: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; 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)/如果没有找到该商品 printf("对不起,未找到该商品n"); printf("请选择:"); printf("1.结账"); printf("2.继续购买商品"); scanf("%d",&a); if(a=1)/结账 printf("请输入实收金额:"); scanf("%f",&ssje); while(ssje<jez)/如果实收金额小于应收总金额 printf("金额不足,请选择:"); printf("1.重新付款"); printf("2.取消购买"); scanf("%d",&c); if(c=1)/重新付款 printf("请输入实收金额:"); scanf("%f",&ssje); else/取消购买某种商品 printf("请输入取消购买商品的编号或名称:"); scanf("%s",str); for(i=0;i<b;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