C语言课程设计模拟POS.docx

上传人:b****2 文档编号:2197881 上传时间:2022-10-27 格式:DOCX 页数:13 大小:61.41KB
下载 相关 举报
C语言课程设计模拟POS.docx_第1页
第1页 / 共13页
C语言课程设计模拟POS.docx_第2页
第2页 / 共13页
C语言课程设计模拟POS.docx_第3页
第3页 / 共13页
C语言课程设计模拟POS.docx_第4页
第4页 / 共13页
C语言课程设计模拟POS.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言课程设计模拟POS.docx

《C语言课程设计模拟POS.docx》由会员分享,可在线阅读,更多相关《C语言课程设计模拟POS.docx(13页珍藏版)》请在冰豆网上搜索。

C语言课程设计模拟POS.docx

C语言课程设计模拟POS

【内容提要】

在单片机应用中,往往需要向LED阵列(一种发光二极管,

多个排成二维显示屏幕)输出字符。

这种字符是通过点阵一个点一个点描出来的。

用0表示暗点,用1表示亮点。

通常使用7×8大小的点阵来描绘ASC字符,右图使用*输出一个7×8的王字。

某自选商店需要定购一种POS终端,这个终端使用LED向顾客显示应付金额,已收金额和找零金额。

顾客购买商品后,由收银员统计应付金额,并通过你的程序向顾客显示应付款。

顾客给足付款后,收银员计算出找零并同时通过你的程序显示已收金额和找零金额。

当然顾客也可能因为最后应付金额过大而取消购买,这样就在屏幕上显示CANCEL字样。

由于商店规模不是很大,假定顾客购买的所有商品均在999元以内。

因此实际一次显示金额最宽不超过7个字符(¥XXX.XX)。

本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个模拟单片机上运行的POS系统,并能最终实现本系统的功能要求。

1.概述系统的主要功能···················3

2.任务书的基本要求与内容···············4

3.系统的功能结构框图···················5

4.C语言程序代码·······················6

5.运行结果···························11

6.使用说明····························12

7.设计日志以及心得体会················12

【系统的主要功能】

本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个模拟单片机上运行的POS系统,并能最终实现本系统的功能要求。

你的程序需要实现以下功能:

1.POS开机:

第一次使用POS机,需要事先清除当日已收款

2.统计应付金额:

收银员输入应付金额,在屏幕上用7×8点阵

显示应付金额

3.收款找零:

收银员输入顾客付款,在屏幕上分两行显示已收款和找零款

4.取消付款:

收银员取消本次购买。

5.日结算:

收银员统计当日销售额。

 

【任务书的基本要求与内容】

【题目要求】

1.商场老板希望能够提高效率,提高效率的最好办法是减少收银员操作错误。

如果进入用户应付款统计阶段,就只能选择收款或者取消,而不能重复统计应付款,换句话说,上述功能的3,4选项不能出现在初始菜单中,而应该在功能2中出现。

而功能2进入后,要么选择收款找零,要么选择取消付款,不能进入日结算界面。

2.你的程序要求以大字体点阵方式显示在屏幕上,注意到并不是每次都是显示7个字符的——只有在某些情况下才出现最多7个字符

【程序要求】

(1)程序正确。

能够严格实现任务书中描述的功能;

(2)界面友好。

尽可能使界面友好、直观、易操作;

(3)风格友好。

源程序应有良好的编码风格,使程序容易阅读。

【输入/输出要求】

(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。

进入每个操作后,根据程序的提示输入相应的信息;

(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

 

【系统的功能结构框图】

 

【C语言程序代码】

#include

#include

voidclear();

floatcheck();

voidprint(float);

voidprint_n();

voidsum(float);

voidexit();

staticfloatk=0;

voidmain()

{

intc;

floatt=0;

do

{

system("CLS");

printf("\t\t\t\t\t\t\t\t\t\t\t\t****************\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t*主菜单*\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t**\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t*1.清除前一天数据*\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t**\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t*2.账目运算*\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t**\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t*3.合计当天销售总额*\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t**\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t*4.退出系统*\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t****************\n");

printf("\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t选择数字进行操作[1\\2\\3\\4]:

");

scanf("%d",&c);

switch(c)

{

case1:

clear();break;

case2:

check();break;

case3:

sum(k);break;

case4:

exit(0);break;

}

printf("按任意键继续。

\n");

system("ClS");

}while

(1);

}

voidclear()

{

FILE*fp;

k=0;

system("CLS");

fp=fopen("E:

\\shuju.txt","w");

fclose(fp);

}

floatcheck()

{

FILE*fp;

floata,b,left;

intc;

system("CLS");

printf("输入购物总额:

");

scanf("%f",&a);

system("CLS");

print(a);

printf("1.确认购物;\t2取消购物");

printf("\n请输入1或2进行操作:

");

scanf("%d",&c);

system("CLS");

if(c==1)

{

printf("输入顾客付款总额:

\n");

scanf("%f",&b);

left=b-a;

printf("付款总额是:

%-.2f\n",b);

print(b);

printf("应找零:

%-.2f\n",left);

print(left);

k=k+a;

fp=fopen("E:

\\shuju.txt","a");

fprintf(fp,"%.2f\n",a);

fclose(fp);

system("pause");

return(k);

}

if(c==2)

{

print_n();

printf("\n");

system("pause");

return(k);

}

system("CLS");

}

/*总额运算函数*/

voidsum(floatd)

{

FILE*fp;

system("CLS");

printf("今天销售总额是:

%-.2f\n",d);

fp=fopen("E:

\\shuju.txt","a");

fprintf(fp,"%.2f\n",d);

print(d);

fclose(fp);

}

voidprint(floatn)

{

chara[15][7][8];

intp[7],i,j,k,q;

longm;

for(i=0;i<15;i++)

for(j=0;j<7;j++)

for(k=0;k<8;k++)

a[i][j][k]='\0';

for(j=1;j<6;j++)

{a[0][j][1]='*';a[0][j][6]='*';}

for(k=1;k<7;k++)

{a[0][1][k]='*';a[0][5][k]='*';}

for(j=1;j<6;j++)

a[1][j][6]='*';

for(k=1;k<7;k++)

{a[2][1][k]='*';a[2][3][k]='*';a[2][5][k]='*';}

for(j=3;j<6;j++)

a[2][j][1]='*';

for(j=1;j<4;j++)

a[2][j][6]='*';

for(k=1;k<7;k++)

{a[3][1][k]='*';a[3][3][k]='*';a[3][5][k]='*';}

for(j=1;j<6;j++)

a[3][j][6]='*';

for(k=1;k<7;k++)

a[4][4][k]='*';a[4][2][3]='*';a[4][3][2]='*';

for(j=1;j<6;j++)

a[4][j][4]='*';

for(k=1;k<7;k++)

{a[5][1][k]='*';a[5][3][k]='*';a[5][5][k]='*';}

for(j=1;j<4;j++)

a[5][j][1]='*';

for(j=3;j<6;j++)

a[5][j][6]='*';

for(k=1;k<7;k++)

{a[6][1][k]='*';a[6][3][k]='*';a[6][5][k]='*';}

for(j=1;j<6;j++)

a[6][j][1]='*';

for(j=3;j<6;j++)

a[6][j][6]='*';

for(k=1;k<7;k++)

a[7][1][k]='*';

for(j=1;j<6;j++)

a[7][j][6]='*';

for(k=1;k<7;k++)

{a[8][1][k]='*';a[8][3][k]='*';a[8][5][k]='*';}

for(j=1;j<6;j++)

{a[8][j][1]='*';a[8][j][6]='*';}

for(k=1;k<7;k++)

{a[9][1][k]='*';a[9][3][k]='*';a[9][5][k]='*';}

for(j=1;j<4;j++)

a[9][j][1]='*';

for(j=1;j<6;j++)

a[9][j][6]='*';

for(k=5;k<7;k++)

{a[10][4][k]='*';a[10][5][k]='*';}

for(k=1;k<7;k++)

{a[11][3][k]='*';a[11][4][k]='*';}

for(j=2;j<7;j++)

{a[11][j][3]='*';a[11][j][4]='*';}

a[11][0][1]='*';a[11][0][6]='*';a[11][1][2]='*';a[11][1][5]='*';

for(j=0;j<7;j++)

for(k=0;k<8;k++)

a[12][j]

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

当前位置:首页 > 人文社科 > 法律资料

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

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