C语言收银管理系统.docx

上传人:b****6 文档编号:6079878 上传时间:2023-01-03 格式:DOCX 页数:14 大小:88.35KB
下载 相关 举报
C语言收银管理系统.docx_第1页
第1页 / 共14页
C语言收银管理系统.docx_第2页
第2页 / 共14页
C语言收银管理系统.docx_第3页
第3页 / 共14页
C语言收银管理系统.docx_第4页
第4页 / 共14页
C语言收银管理系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言收银管理系统.docx

《C语言收银管理系统.docx》由会员分享,可在线阅读,更多相关《C语言收银管理系统.docx(14页珍藏版)》请在冰豆网上搜索。

C语言收银管理系统.docx

C语言收银管理系统

 

 

 

题目

超市结账系统

指导老师

凌霞

班级

2016级软件工程1班

日期

2016年12月28日

 

成员及成绩:

学号

姓名

成绩

164804014

姬新科

164804047

岳其威

 

二〇一六年十二月

1、设计目的

解决问题:

超市需要处理大量的仓库信息,时刻更新产品的销售信息,不断添加商品信息。

传统的人工记录比较复杂、困难。

因此,面对不同种类的信息,需要合理的数据库结构来保存数据信息,所以超市收银管理程序是当今社会所必不可少的。

它的特点就是能够实时的和准确的控制店内的销售情况。

如果能够实时掌握销售流程及销售情况,有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。

一个好的超市收银管理程序能够给企业带来巨大的便利,以及效益。

主要功能:

(1)收银人员录入商品号及购买数量,计算应付钱数。

(2)管理人员对商品信息(商品号、商品名、单价)进行输入、删除、修改和查询。

(3)顾客能清楚自己收钱数和应找钱数。

(4)顾客能看到自己购买的商品及价格数量以及找零。

2、总体设计

2.1功能模块图:

 

2.2主函数流程图:

2.3购买商品的流程图:

 

3、功能描述

3.1、登录系统

用于超市管理人员登陆及操作,选择1,进行建立商品信息库;选择2,进行选购商品信息;选择3,进行修改商品信息内容;选择4,退出程序;

intmain(){

inta,y;

printf("超市结账系统\n");

printf("软工一班\n姬新科164804014\n岳其威164804047\n");

printf("2016年12月28日\n");

printf("$$$$$$$$$$$$$$$$$$$$\n");

printf("欢迎使用超市管理系统\n");

printf("¥¥¥¥¥¥¥¥¥¥\n");

printf("\n");

while

(1){

printf("\n");

printf("1.商品信息录入\n");

printf("2.购买商品\n");

printf("3.修改商品信息\n");

printf("4.退出\n");

scanf("%d",&a);

if(a<1||a>4){

printf("输入错误请重新输入\n");

}

if(a==1){

system("cls");

good(a);

}

if(a==2){

system("cls");

y=buy(a);

jiezhang(y);

sum=0;

}

if(a==3){

system("cls");

xiugai(a);

}

if(a==4){

system("cls");

printf("谢谢使用.");

break;

}

}

return0;

}

3.2、建立商品信息库(由函数voidgood(inte)实现)

由超市工作人员操作,用于录入超市商品信息(商品序号、名称、进价、售价、数量),建立商品信息库。

voidgood(inte)

{

intx;

printf("请输入要录入的商品编号:

");

scanf("%d",&x);

printf("货物名称:

");

scanf("%s",&goods[x].name);

printf("售价:

");

scanf("%lf",&goods[x].price);

printf("库存量:

");

scanf("%d",&goods[x].amount);

}

 

3.3、购买商品系统(由intbuy(intb)函数实现)

用户选择想要购买的的商品序号,之后选择购买数量。

计算所需付的钱的总额。

intbuy(intb){

intn,m;

doublesum=0;

printf("请输入要选购商品的序号:

\n");

scanf("%d",&n);

printf("请问您需要买数量:

\n");

scanf("%d",&m);

goods[n].amount=goods[n].amount-m;

sum=sum+m*goods[n].price;

returnsum;

}

 

3.4、结账系统(由函数voidjiezhang(doublec)实现

显示顾客应付的钱数(购买数量的乘积的累加求出应付钱数),顾客付钱在输入实际付钱数目后输出找零数目。

voidjiezhang(doublec)

{

doublea,b=0;

printf("请输入顾客所付的金额:

");

scanf("%lf",&a);

if(c>a){

printf("钱不够\n");

}

else{

b=a-c;

printf("收款%.2f\n找零%.2f\n",a,b);

}

}

3..5、修改商品信息(由函数voidxiugai(intd)实现)

由超市工作人员操作,包括修改所选的商品的编号,价格与库存;最后显示所该商品的改后信息。

voidxiugai(intd)

{

intnum,course;

printf("输入要修改的商品编号:

");

scanf("%d",&num);

printf("选择你要修改的项目:

1.price2.amount\n");

scanf("%d",&course);

switch(course){

case1:

printf("请输入您要修改为的价格:

\n");

scanf("%lf",&goods[num].price);

printf("%d号商品的价格修改为:

%.2f\n",num,goods[num].price);

break;

case2:

printf("请输入您要修改为的库存:

\n");

scanf("%d",&goods[num].amount);

printf("%d号商品的库存修改为:

%d\n",num,goods[num].amount);

break;

}

}

 

四、详细设计

4.1进入超市管理系统主菜单

4.2选择1进入商品信息的录入界面,进行商品信息的录入。

4.3选择2进入商品购买及结账界面

 

4.4选择3进入修改商品界面

4.4.1修改商品库存

4.4。

2修改商品价格

4.5、选择4退出超市收银管理系统

 

源代码:

#include

#include

intbuy(intb);

voidgood(inte);

voidjiezhang(doublec);

voidxiugai(intd);

doublesum=0;

structgood{

intnum;

charname[10];

doubleprice;

intamount;

}goods[50];

intmain(){

inta,y;

printf("超市结账系统\n");

printf("软工一班\n姬新科164804014\n岳其威164804047\n");

printf("2016年12月28日\n");

printf("$$$$$$$$$$$$$$$$$$$$\n");

printf("欢迎使用超市管理系统\n");

printf("¥¥¥¥¥¥¥¥¥¥\n");

printf("\n");

while

(1){

printf("\n");

printf("1.商品信息录入\n");

printf("2.购买商品\n");

printf("3.修改商品信息\n");

printf("4.退出\n");

scanf("%d",&a);

if(a<1||a>4){

printf("输入错误请重新输入\n");

}

if(a==1){

system("cls");

good(a);

}

if(a==2){

system("cls");

y=buy(a);

jiezhang(y);

sum=0;

}

if(a==3){

system("cls");

xiugai(a);

}

if(a==4){

system("cls");

printf("谢谢使用.");

break;

}

}

return0;

}

voidgood(inte){

intx;

printf("请输入要录入的商品编号:

");

scanf("%d",&x);

printf("货物名称:

");

scanf("%s",&goods[x].name);

printf("售价:

");

scanf("%lf",&goods[x].price);

printf("库存量:

");

scanf("%d",&goods[x].amount);

}

intbuy(intb){

intn,m;

doublesum=0;

printf("请输入要选购商品的序号:

\n");

scanf("%d",&n);

printf("请问您需要买数量:

\n");

scanf("%d",&m);

goods[n].amount=goods[n].amount-m;

sum=sum+m*goods[n].price;

returnsum;

}

voidjiezhang(doublec)

{

doublea,b=0;

printf("请输入顾客所付的金额:

");

scanf("%lf",&a);

if(c>a){

printf("钱不够\n");

}

else{

b=a-c;

printf("收款%.2f\n找零%.2f\n",a,b);

}

}

voidxiugai(intd)

{intnum,course;

printf("输入要修改的商品编号:

");

scanf("%d",&num);

printf("选择你要修改的项目:

1.price2.amount\n");

scanf("%d",&course);

switch(course){

case1:

printf("请输入您要修改为的价格:

\n");

scanf("%lf",&goods[num].price);

printf("%d号商品的价格修改为:

%.2f\n",num,goods[num].price);

break;

case2:

printf("请输入您要修改为的库存:

\n");

scanf("%d",&goods[num].amount);

printf("%d号商品的库存修改为:

%d\n",num,goods[num].amount);

break;

}

}

 

五、调试与测试

5.1调试方法

因为整个系统各模块之间有一定关联性,所以大部分模块在调试时,都和这段函数相关联的模块放在一起调试。

 

5.2测试结果的分析与讨论

switch语句时不能处理好system("cls")清屏指令的应用,于是换用了“if”语句并列使用”

在做结账函数的时候对数据类型的讨论,数据类型在int与double之间选择,各自调试,结果因为在使用double时,scanf数据类型将%lf写成%f,导致商品信息建立时的售价环节不能正常录入,导致后边的整个购买结账模块无法正常运行。

经过讨论最后发现并及时改正,使结账模块得以正常运行。

 

5.3测试过程中遇到的主要问题及采取的解决措施

测试过程中首先遇上的是各种细节上的错误,如“;”、“&”等符号忘写,解决法是检查程序,逐个排查。

在做结账函数的时候因为定义数据类型的讨论,数据类型在int与double之间选择,各自调试,结果因为在使用double时scanf数据类型将%lf写成%f,导致商品信息建立时的售价环节不能正常录入,导致后边的整个购买结账模块无法正常运行。

六、团队成员与分工

成员

学号

分工

负责人

姬新科

164804014

商品的结账与商品的修改

队员

岳其威

164804047

任务的菜单、商品信息的录入

 

7、课程实践总结

通过这次课程设计,使我们对C语言这门课程有了更深的理解,体会到看起来复杂的事情只要想好思路,写好算法,再设计代码,问题也就会迎刃而解。

虽然在具体过程中我们遇到了很多困难和错误,尤其是在编写购买商品环节的函数时,由于一个定义数据类型的原因,使得整个函数无法正常运行,但经过不断调试后,还是成功做出了这个简陋的程序。

既然说是简陋的程序,自然有很多不足之处,例如在购买商品时一次只能购买一个并且结账,还有如果商品信息未找到,购买的商品数量超过库存量等不足,这些不足之处会引起系统的崩溃,这是往后学习了新的知识后要去解决的问题。

在这次实践的过程小组成员们在面对各种问题和BUG时,虽有抱怨,但有马上开始查阅书籍,询问老师,多方面的想办法,不断调试修改。

从拿到题目到最后完成,各个环节小组成员的付出自己的努力,这毕竟是我们自己做到第一个有模样的程序,对我们都有很重要的意义。

如果没有小组成员间的分工合作,各自出力。

这个程序让一个单独来做的就会是一个比较大的困难,我们深深的感受到,想要做好一个程序,单单依靠一个人是绝对不行的,大家合作,各自提出不同的意见,从而使程序逐渐完善起来。

这次的设计,同样也使我们对以前不熟悉的各模块知识有了进一步的理解。

让我们相信,只要有耐心,肯努力,一定能将程序做出来!

这次设计中,我们查阅了很多资料,因此,我们了解到书本上的知识是远远不够的,只有不断的扩充自己的知识,才能保证程序的顺利制作。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1