C语言超市收银管理系统实现.docx
《C语言超市收银管理系统实现.docx》由会员分享,可在线阅读,更多相关《C语言超市收银管理系统实现.docx(21页珍藏版)》请在冰豆网上搜索。
C语言超市收银管理系统实现
超市收银管理程序的设计与实现
1摘要和关键字
1.1摘要
该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。
除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。
最后,系统能对销售情况进行查询。
(,,),,,.,,,.,.
1.2关键字
登陆系统操作菜单建立信息库查询付款
2正文
2.1引言
随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。
尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。
2.2需求分析
(1)销售人员能对商品信息(商品号、商品名、单价)进行输入,建立商品信息库。
(2)输出商品信息库中全部商品的信息(商品号、商品名、售价、数量),并且输出所购商品清单。
(3)销售人员根据顾客需求录入所购商品的商品号及数量,并能实现所购商品的数量修改以及商品删除。
(4)根据所购商品的数量及单价计算出应付钱数,并根据实际收钱数目计算找零数目,并输出。
(5)销售人员通过此程序能查询销售情况,输出商品的信息(商品号、商品名、单价、剩余数量),并计算卖出商品的获利情况。
2.3数据结构设计
[N]:
总体商品信息数组,全局变量
[j]:
所购商品信息数组,全局变量
j:
累计所购商品种类
:
操作选项
():
建立商品信息库函数
():
输出商品信息库中信息函数
():
购买商品函数
():
计算应付钱数和找零函数
():
添加所购商品函数(()函数子函数)
():
查看销售情况函数
:
指向文件的指针
():
应付钱数
():
实收钱数
2.4算法设计
该系统主要包括登陆系统、商品信息库建立系统、商品信息库输出系统、购物系统、结账系统以及销售情况查询系统。
其中购物系统包括商品添加及显示系统、修改购买商品系统以及删除购买商品系统,逻辑结构清晰,使用方便。
2.4.1登陆系统
登陆系统由销售人员操作,是系统选择门户,其中选择1则执行商品信息库建立的操作,选择2执行商品信息库输出操作,选择3执行购物操作,选择4执行结账操作,选择5执行销售情况查询操作。
()
{
()()()();
()();
;
("***************************\n");
("1.建立商品信息库\n");
("2.输出商品信息\n");
("3.购买商品\n");
("4.结账\n");
("5.查看销售情况\n");
("6.退出\n");
("***************************\n");
(1)
{
("请输入选择序号\n");
("");
(<1>6)
{
("输入有误,请重新输入\n");
}
()
{
1();
2();
3();
4(j);
5();
6("谢谢使用。
\n")(0);
}
}
}
2.4.2商品信息库建立系统
由工作人员操作,用于录入超市商品的信息(商品序号、商品名、进价、售价、数量),并建立商品信息库。
()
{
*;
i;
("请依次输入商品信息\n");
(0<)
{
("商品序号:
");
(""[i]);
("商品名:
");
(""[i]);
("进价:
");
(""[i]);
("售价:
");
(""[i]);
("数量:
");
(""[i]);
}
((("","w")))
{
("'t\n");
;
}
(());
();
("***************************\n");
}
2.4.3商品信息库输出系统
商品信息库输出系统用于输出超市所有商品信息,用于检查商品信息录入是否有误。
()
{
i;
*;
((("","r")))
{
("'t\n");
;
}
(0((),1)0)
{
("商品序号商品名售价数量\n");
("%5s\7s\8.2f\\n"[i][i][i][i]);
("***************************\n");
}
();
}
2.4.4购物系统
用于顾客购买商品时操作,通过录入商品序号实现查找,其中包括购买商品及显示系统、修改系统及删除系统三个子函数。
选择1执行购买商品及显示操作,选择2执行修改商品数量操作,选择3执行删除操作,选择4退出,返回上一层。
()
{
();
();
();
();
();
(1)
{
(())
{
1()();
2();
3();
4:
("***************************\n");
("1.建立商品信息库\n");
("2.输出商品信息\n");
("3.购买商品\n");
("4.结账\n");
("5.查看销售情况\n");
("6.退出\n");
("***************************\n");
}
}
}
()
{
;
("***************************\n");
("1.购买商品\n");
("2.修改数量\n");
("3.删除商品\n");
("4.退出\n");
("***************************\n");
("请选择操作序号\n");
((""))
{
(<1>5)
{
("输入错误,请重新输入!
\n");
;
}
;
}
;
}
2.4.4.1商品添加及显示系统
通过输入商品序号并且与商品信息库中数据比较实现查找,并输出所选商品的信息(商品号、商品名、售价、数量),在输入所购数量后,存入[]数组中存储,并且显示出所购商品的信息以及购买数量。
()
{
0;
[50];
;
{
("请输入要选购商品的序号:
\n");
("");
(0<)
{
(([i])0)
{
([j][i]);
([j][i]);
[j][i];
[j][i];
("商品序号商品名售价剩余数量\n");
("%5s\7s\8.2f\\n"[i][i][i][i]);
}
}
{
(([i])0)
{
("输入购买数量:
");
("");
(m>[i])
{
("输入错误,请重新输入\n");
("输入购买数量");
("");
}
[j];
;
}
("无此商品\n");
}
("是否继续购买?
请输入Y或者N\n");
();
("");
}('Y');
}
()
{
i;
("购买的商品\n");
("商品序号商品名售价数量\n");
(0<)
{
("%5s\7s\8.2f\\n"[i][i][i][i]);
}
}
2.4.4.2修改购买商品系统
通过输入商品序号实现在所购商品数组[]中查找,并重新输入所要购买数量。
()
{
[50];
i;
("请输入要修改商品的序号\n");
("");
(0<)
{
(([i])0);
}
("购买的商品\n");
("商品序号商品名售价数量\n");
("%5s\7s\8.2f\\n"[i][i][i][i]);
("请重新输入数量\n");
(""[i]);
}
2.4.4.3删除购买商品系统
通过输入商品序号实现在所购商品数组[]中查找所要删除的商品,并将其所购买数量重置为0,输出时跳过购买数量为0的商品实现删除功能。
()
{
i;
[50];
("请输入要删除的商品序号\n");
("");
(0<)
{
(([i])0)
{
[i]0;
;
}
}
("所购买的商品\n");
(0<)
{
([i]0)
{
("商品序号商品名售价数量\n");("%5s\7s\8.2f\\n"[i][i][i][i]);
}
;
}
}
2.4.5结账系统
通过所购买商品数组[]中售价与购买数量的乘积的累加求出应付钱数,在输入实际付钱数目后输出找零数目。
()
{
00;
0;
(0<)
{
[i]*[i];
n;
}
("总费用:
%8.3f\n");
{
("实际付款:
");
("\n");
("");
(<)
{
("金额错误,请重新输入!
\n");
}
}(<);
("找零:
");
("%8.3f\n");
("***************************\n");
("1.建立商品信息库\n");
("2.输出商品信息\n");
("3.购买商品\n");
("4.结账\n");
("5.查看销售情况\n");
("6.退出\n");
("***************************\n");
}
2.4.6销售情况查询系统
通过所买商品与商品信息库中商品信息的比较,求出商品的剩余数量并随商品信息输出,并且根据进价、售价及销售数目粗略求出获利数目。
()
{
i;
m;
0;
("商品销售情况\n");
("商品序号商品名售价剩余数量\n");
(0<)
{
(0<)
{
(([i][m])0)
{
("%5s\7s\8.2f\\n"[i][i][i][i][m]);
;
}
}
}
("总盈利:
\n");
(0<)
{
([i][i])*[i];
;
}
("¥");
("%8.2f\n");
("***************************\n");
("1.建立商品信息库\n");
("2.输出商品信息\n");
("3.购买商品\n");
("4.结账\n");
("5.查看销售情况\n");
("6.退出\n");
("***************************\n");
}
2.5程序实现及测试
2.5.1进入系统登录页面及显示的相关信息
2.5.2建立商品信息库
2.5.3输出商品信息库信息
2.5.4购买商品菜单
2.5.4.1添加购买商品
2.5.4.2修改购买商品数量
2.5.4.3删除所购商品
2.5.5计算应收钱数及找零
2.5.7查询销售情况
3不足之处
程序虽然运行无误,但仍有很多不足之处,一是代码用C语音写,较为繁琐,代码冗长,占用空间大,并且所用符号多,不易保证书写正确性;二、代码有需完善之处,主要是建立商品信息系统时数组个数N需要提前已知,并在代码开头处予以说明,否则单凭建立个数多数组则无法正常使用;三:
界面设计有待优化,没有实现清屏功能,在数据较多时不易查看;四、只是实现了根据商品序号查找功能,没有完善其他功能,且输入较为繁琐。
4设计体会
通过本次的课程设计,除了让我对以前学过的C语言重新进行了系统的复习,巩固了所学的知识,而且让我理解到编程的乐趣与艰辛,在编写程序时,最重要的是有系统的构想,能够把所要写的程序的各种功能及逻辑顺序形成思路,再根据实际情况选择语言及所用到的方法。
在第一次编写完时看到密密麻麻的错误提示,但无从下手的感觉十分无奈,只能一点一点的找到错误并且改正,当看到程序的大体功能都实现时感觉十分有成就感,而后就是进一步的完善和修改一些忽略的漏洞,等到全部都改正并且顺利运行的时候才长舒一口气。
虽然本次内容简单,所用语言也很简单,但确实在不断的发现与改正错误中体会到了其中的乐趣与困难。
同时,我也理解到我所学的知识还远远不扎实,不充分,让我有了继续学习的动力,只有掌握更多的知识,才能写出质量更高的程序。
5结束语
通过本次课程设计让我感触很多,而且更加认识到本专业的意义,首先感谢老师能安排这样一次课程设计,让我们对所学东西能有回顾及应用的机会;还要感谢各位同学对我的指导,才使我顺利完成本次实验。
6参考文献
1.谭浩强《C程序设计(第四版)》清华大学出版社2010年6月第四版
2.严蔚敏、吴伟民《数据结构》清华大学出版社2007年
本科生课程设计成绩评定表
班级:
姓名:
学号:
序号
评分项目
满分
实得分
1
学习态度认真、遵守纪律
10
2
设计分析合理性
10
3
设计方案正确性、可行性、创造性
20
4
设计结果正确性
40
5
设计报告的规范性
10
6
设计验收
10
总得分/等级
评语:
注:
最终成绩以五级分制记。
优(90-100分)、良(80-89分)、中(70-79分)、
及格(60-69分)、60分以下为不及格
指导教师签名:
2013年元月25日