超市管理系统C语言课程设计报告.docx
- 文档编号:27120995
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:21
- 大小:135.89KB
超市管理系统C语言课程设计报告.docx
《超市管理系统C语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《超市管理系统C语言课程设计报告.docx(21页珍藏版)》请在冰豆网上搜索。
超市管理系统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//结构体
{
charbh[30];//商品编号
charbhstr[30];//商品名称
floatjinjia;//商品进价
floatshoujia;//商品售价
intkucun;//商品库存数量
};
5.系统函数的设计与实现
5.1主函数
主函数中运行功能选择函数,运行时可以显示系统界面,系统界面如图5-1所示。
图5-1系统主界面
主函数中可以实现各种功能的选择。
5.2进货功能函数
(1)流程图
进货功能函数实现进货功能,能够实现要进货商品的信息添加或录入。
进货时,先检测本商品是否存在,若存在则修改库存数量等相关信息;否则添加本商品的相关信息。
进货流程图如图5-2所示。
否
是
图5-2进货功能流程图
(2)系统代码
voidjinhuo()//进货处理函数
{
charstr[30];
inti,a=2;
while(a==2)
{
printf("请输入商品的名称:
");
scanf("%s",str);
for(i=0;i
if(strcmp(str,s[i].bhstr)==0)//查找要进货的商品
{
printf("编号:
%s,进价:
%5.1f,售价:
%5.1f,库存数量:
%d\n",s[i].bh,s[i].jinjia,s[i].shoujia,s[i].kucun);
printf("请输入新库存数量:
");
scanf("%d",&s[i].kucun);//修改库存信息
printf("库存信息修改完成\n");
break;
}
if(i>=b)//如果没有找到要进货的商品,则添加商品信息
{
printf("添加商品信息:
\n");
printf("请输入商品编号:
");
scanf("%s",s[i].bh);
printf("请输入商品名称:
");
scanf("%s",s[i].bhstr);
printf("请输入商品进价:
");
scanf("%f",&s[i].jinjia);
printf("请输入商品售价:
");
scanf("%f",&s[i].shoujia);
printf("请输入商品库存数量:
");
scanf("%d",&s[i].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所示。
否
是
否
是
否
是
图5-4退货功能流程图
(2)系统代码
voidtuihuo()//退货处理函数
{
inti,a,c=2,d;
charstr[30];
while(c==2)
{
printf("请输入要退的商品名称:
");
scanf("%s",str);
for(i=0;i
if(strcmp(str,s[i].bhstr)==0)//查找要退货的商品
{
printf("请输入要退商品的数量:
");
scanf("%d",&d);
printf("请选择是否要退货");
printf("1.是");
printf("2.否");
scanf("%d",&a);
if(a==1)
{
s[i].kucun=s[i].kucun+d;//修改库存信息
printf("退货已成功\n");
}
if(s[i].kucun==0)//如果库存数量为零,提示是否删除该商品
{
printf("本商品库存为0,请选择是否删除本商品");
printf("1.是");
printf("2.否");
scanf("%d",&a);
if(a==1)
{
strcpy(s[i].bh,"该商品不存在");
strcpy(s[i].bhstr,"该商品不存在");
s[i].jinjia=0;
s[i].shoujia=0;
s[i].kucun=0;
printf("本商品已删除\n");
}
}
}
printf("请选择:
");
printf("1.返回开始菜单");
printf("2.继续进行退货处理");
scanf("%d",&c);
}
}
(3)运行效果
输入:
2
输出:
请输入要退的商品名称:
输入:
1
输出:
请输入要退商品的数量:
输入:
1
输出:
请选择是否要退货1.是2.否
输入:
1
输出:
退货已成功
请选择:
1.返回开始菜单2.继续进行退货处理
输入:
1
返回开始菜单
运行效果图如图5-5所示。
图5-5退货功能运行界面
5.4商品销售函数
(1)流程图
商品销售函数实现商品购买功能。
购买商品时输入要购买商品的编号、购买数量,能够计算出应收金额和应收总金额,同时修改库存数量。
此外,当实收金额少于应收总金额时,此次销售不成功,可根据用户的要求进行修改或放弃。
商品销售流程图如图5-6所示。
是
是否
是否
否是
是
否
图5-6商品销售流程图
(2)系统代码
voidspxs()//商品销售函数
{
charstr[30];
inti,sl,a=2,c;
floatje,jez=0,ssje,zl;
while(a==2)
{
printf("请输入购买商品的编号:
");
scanf("%s",str);
for(i=0;i
if(strcmp(str,s[i].bhstr)==0)//查找购买的商品
{
printf("请输入要购买的数量:
");
scanf("%d",&sl);
while(sl>s[i].kucun)//购买的数量如果大于库存数量
{
printf("商品库存数量不足,请重新输入要购买的数量:
");
scanf("%d",&sl);
}
printf("应收金额为:
");
je=sl*s[i].shoujia;//计算购买该商品的金额
printf("%5.1f\n",je);
s[i].kucun=s[i].kucun-sl;//修改库存信息
printf("应收总金额为:
");
jez=jez+je;//计算购买商品的总金额
printf("%5.1f\n",jez);
break;
}
if(i>=b)//如果没有找到该商品
printf("对不起,未找到该商品\n");
printf("请选择:
");
printf("1.结账");
printf("2.继续购买商品");
scanf("%d",&a);
if(a==1)//结账
{
printf("请输入实收金额:
");
scanf("%f",&ssje);
while(ssje { printf("金额不足,请选择: "); printf("1.重新付款"); printf("2.取消购买"); scanf("%d",&c); if(c==1)//重新付款 { printf("请输入实收金额: "); scanf("%f",&ssje); } else//取消购买某种商品 { printf("请输入取消购买商品的编号或名称: "); scanf("%s",str); for(i=0;i if((strcmp(str,s[i].bh)==0)||(strcmp(str,s[i].bhstr)==0))//查找要取消购买的商品 { printf("请输入取消购买的数量"); scanf("%d",&sl); s[i].kucun=s[i].kucun+sl;//修改库存信息 jez=jez-sl*s[i].shoujia;//重新计算总金额 printf("取消购买成功\n"); } } } zl=ssje-jez;//找零 printf("找零%5.1f\n",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 输出: 请输入购买商品的编号: 输入: 2 输出: 请输入要购买的数量: 输入: 1 输出: 应收金额为: 2.0 应收总金额为: 3.0 请选择: 1.结账2.继续购买商品 输入: 1 输出: 请输入实收金额: 输入: 2 输出: 金额不足,请选择: 1.重新付款2.取消购买 输入: 1 输出: 请输入实收金额: 输入: 5 输出: 找零2.0 购买成功 请选择: 1.返回开始菜单2.继续购买商品 输入: 1 返回开始菜单 运行效果图如图5-7所示。 图5-7商品销售功能运行界面 5.5商品信息查询函数 (1)流程图 商品信息查询函数实现查询商品信息的功能。 查询时输入商品的编号或名称,输出商品的编号、名称、进价、售价、库存数量。 商品信息查询流程图如图5-8所示。 否 是 图5-8商品信息查询流程图 (2)系统代码 voidxxcx()//商品信息查询函数 { charstr[30]; inti,a=2; while(a==2) { printf("请输入要查询商品的编号或名称: "); scanf("%s",str); for(i=0;i if((strcmp(str,s[i].bh)==0)||(strcmp(str,s[i].bhstr)==0)) { printf("商品编号: %s\n",s[i].bh); printf("商品名称: %s\n",s[i].bhstr); printf("商品进价: %5.1f\n",s[i].jinjia); printf("商品售价: %5.1f\n",s[i].shoujia); printf("商品库存: %d\n",s[i].kucun); break; } if(i>=b)//未找到要查询的商品 printf("对不起,未找到该商品\n"); printf("请选择: "); printf("1.返回开始菜单"); printf("2.继续查询商品"); scanf("%d",&a); } } (3)运行效果 输入: 4 输出: 请输入要查询商品的编号或名称: 输入: 1 输出: 商品编号: 1 商品名称: 1 商品进价: 1.0 商品售价: 1.0 商品库存: 1 请选择: 1.返回开始菜单2.继续查询商品 输入: 2 输出: 请输入要查询商品的编号或名称: 输入: 3 输出: 对不起,未找到该商品 请选择: 1.返回开始菜单2.继续查询商品 输入: 1 返回开始菜单 运行效果图如图5-9所示。 图5-9商品信息查询功能运行界面 5.6商品信息浏览函数 (1)流程图 商品信息浏览函数实现浏览全部商品信息的功能。 浏览时商品按编号依次输出商品的编号、名称、进价、售价、库存数量信息。 商品信息浏览流程图如图5-10所示。 图5-10商品信息浏览流程图 (2)系统代码 voidspxxpx()//商品信息排序函数 { inti,j,t5; floatt3,t4; chart1[30],t2[30],a; for(j=1;j<=b-1;j++)//排序 for(i=0;i if(strcmp(s[i].bh,s[i+1].bh)>0) {strcpy(t1,s[i].bh);strcpy(t2,s[i].bhstr);t3=s[i].jinjia;t4=s[i].shoujia;t5=s[i].kucun;strcpy(s[i].bh,s[i+1].bh);strcpy(s[i].bhstr,s[i+1].bhstr);s[i].jinjia=s[i+1].jinjia; s[i].shoujia=s[i+1].shoujia;s[i].kucun=s[i+1].kucun;strcpy(s[i+1].bh,t1);strcpy(s[i+1].bhstr,t2);s[i+1].jinjia=t3;s[i+1].shoujia=t4;s[i+1].kucun=t5; } printf("按编号依次输出商品信息: \n"); for(i=0;i printf("商品编号: %s\n商品名称: %s\n商品进价: %5.1f\n商品售价: %5.1f\n商品库存: %d\n\n", s[i].bh,s[i].bhstr,s[i].jinjia,s[i].shoujia,s[i].kucun); printf("请输入任意字符返回开始菜单"); scanf("%s",&a); } (3)运行效果 输入: 5 输出: 按编号依次输出商品信息: 商品编号: 1 商品名称: 1 商品进价: 1.0 商品售价: 1.0 商品库存: 1 商品编号: 2 商品名称: 2 商品进价: 2.0 商品售价: 2.0 商品库存: 2 商品编号: 3 商品名称: 3 商品进价: 3.0 商品售价: 3.0 商品库存: 3 请输入任意字符返回开始菜单 输入: w 返回开始菜单 运行效果图如图5-11所示。 图5-11商品信息浏览功能运行界面 6.总结 通过C语言程序设计实现了超市管理系统,本系统完成了进货功能、退货功能、商品销售功能、商品信息查询功能和商品信息浏览功能,具有功能齐全和操作简单的特点,但是实用性还有待进一步改进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 语言 课程设计 报告