版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【内容提要】在单片机应用中,往往需要向LED阵列(一种发光二极管, 充多个排成二维显示屏幕)输出字符。这种字符是通过点阵一个:*旱*甲范点一个点描出来的。用0表示暗点,用1表示亮点。通常使用7X 8 大小的点阵来描绘ASC?符,右图使用*输出一个7X 8的王字。某自选商店需要定购一种PO潞端,这个终端使用LED向顾客显示应 付金额,已收金额和找零金额。顾客购买商品后,由收银员统计应付 金额,并通过你的程序向顾客显示应付款。顾客给足付款后,收银员 计算出找零并同时通过你的程序显示已收金额和找零金额。当然顾客也可能因为最后应付金额过大而取消购买,这样就在屏幕上显示 CANCE后样。由于商店规模不是
2、很大,假定顾客购买的所有商品均 在999元以内。因此实际一次显示金额最宽不超过7个字符( XXX.xx)。本课程设计任务的目的是要求学生按照分析、设计、编码、调试 和测试的软件开发过程独立完成一个模拟单片机上运行的PO繇统,并能最终实现本系统的功能要求。目录 TOC o 1-5 h z .概述系统的主要功能3.任务书的基本要求与内容4.系统的功能结构框图5. C语言程序代码6.运行结果11.使用说明12.设计日志以及心得体会12【系统的主要功能】本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个模拟单片机上运行的POS系统,并能最终实现本系统的功能要求。你
3、的程序需要实现以下功能:POS开机:第一次使用POS机,需要事先清除当日已收款统计应付金额:收银员输入应付金额,在屏幕上用7X8点阵显示应付金额收款找零:收银员输入顾客付款,在屏幕上分两行显示已收款 和找零款取消付款:收银员取消本次购买。日结算:收银员统计当日销售额。【任务书的基本要求与内容】【题目要求】.商场老板希望能够提高效率,提高效率的最好办法是减少收银 员操作错误。如果进入用户应付款统计阶段,就只能选择收款或者取 消,而不能重复统计应付款,换句话说,上述功能的 3, 4选项不能 出现在初始菜单中,而应该在功能 2中出现。而功能2进入后,要么 选择收款找零,要么选择取消付款,不能进入日结
4、算界面。.你的程序要求以大字体点阵方式显示在屏幕上, 注意到并不是 每次都是显示7个字符的一一只有在某些情况下才出现最多 7个字符 【程序要求】程序正确。能够严格实现任务书中描述的功能;界面友好。尽可能使界面友好、直观、易操作;风格友好。源程序应有良好的编码风格,使程序容易阅读【输入/输生要求】(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相 应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括 输入的数据内容、格式及结束方式等。按任意键【C语言程序代码】#include #includevoid clear();f
5、loat check();void print(float);void print_n();void sum(float);void exit();static float k=0;void main()int c;float t=0;dosystem(CLS);printf(tttttttttttt* * printf(tttttttttttt* * * * * * * * * * * * *n);主菜单*n);printf(tttttttttttt*printf(tttttttttttt*1.*n);清除刖一天数据*n);printf(tttttttttttt*printf(ttttttt
6、ttttt*2.*n);账目运算*An);printf(tttttttttttt*printf(tttttttttttt*3.*n);合计当天销售总额 *n);printf(tttttttttttt*printf(tttttttttttt*4.*n);退出系统*An);printf(tttttttttttt* * * * * * * * * * * * * *n);printf(n);printf(tttttttttttt选择数字进行操作1234:);scanf(%d,&c); switch(c)clear();break;check();break;sum(k);break;exit(0);
7、break;printf(按任意键继续。n);system(ClS);while(1);void clear()FILE *fp;k=0;system(CLS);fp=fopen(E:shuju.txt,w);fclose(fp);float check()FILE *fp;float a,b,left;int c;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)pri
8、ntf(输入顾客彳款总额:n);scanf(%f,&b);left=b-a;printf(付款总额是:%-.2fn,b);print(b);printf(应找零:%-.2fn,left);print(left);k=k+a;fp=fopen(E:shuju.txt,a);fprintf(fp,%.2fn,a);fclose(fp);system(pause);return(k);if(c=2)print_n();printf(n);system(pause);return(k); system(CLS);/*总额运算函数*/void sum(float d)FILE *fp;system(CL
9、S);printf(今天销售总额是:%-.2fn,d);fp=fopen(E:shuju.txt,a);fprintf(fp,%.2fn,d);print (d);fclose(fp);void print(float n)char a1578;int p7,i,j,k,q;long m;for(i=0;i15;i+)for(j=0;j7;j+)for(k=0;k8;k+)aijk=0;for(j=1;j6;j+)a0j1=*;a0j6=*;for(k=1;k7;k+)a01k=*;a05k=*;for(j=1;j6;j+)a1j6=*;for(k=1;k7;k+)a21k=*;a23k=*;
10、a25k=*;for(j=3;j6;j+)a2j1=*;for(j=1;j4;j+)a2j6=*;for(k=1;k7;k+)a31k=*;a33k=*;a35k=*;for(j=1;j6;j+)a3j6=*;for(k=1;k7;k+)a44k=*;a423=*;a432=*;for(j=1;j6;j+)a4j4=*;for(k=1;k7;k+)a51k=*;a53k=*;a55k=*;for(j=1;j4;j+)a5j1=*;for(j=3;j6;j+)a5j6=*;for(k=1;k7;k+)a61k=*;a63k=*;a65k=*;for(j=1;j6;j+)a6j1=*;for(j=
11、3;j6;j+)a6j6=*;for(k=1;k7;k+)a71k=*;for(j=1;j6;j+)a7j6=*;for(k=1;k7;k+)a81k=*;a83k=*;a85k=*;for(j=1;j6;j+)a8j1=*;a8j6=*;for(k=1;k7;k+)a91k=*;a93k=*;a95k=*;for(j=1;j4;j+)a9j1=*;for(j=1;j6;j+)a9j6=*;for(k=5;k7;k+)a104k=*;a105k=*;for(k=1;k7;k+)a113k=*;a114k=*;for(j=2;j7;j+)a11j3=*;a11j4=*;a1101=*;a1106
12、=*;a1112=*;a1115=*;for(j=0;j7;j+)for(k=0;k8;k+)a12jk=0;m=(long)(100*n+0.1);p6=m%10;p5=(m/10)%10;p4=10;p3=(m/100)%10;p2=(m/1000)%10;p1=(m/10 000)%10;p0=11;if(p1=0)p1=12;if(p2=0)p2=12;for(j=0;j7;j+)for(q=0;q7;q+)for(k=0;k8;k+)printf(%c,apqjk);printf(n);else for(j=0;j7;j+)for(q=0;q7;q+)for(k=0;k8;k+)pr
13、intf(%c,apqjk);printf(n);else for(j=0;j7;j+)for(q=0;q7;q+)for(k=0;k8;k+)printf(%c,apqjk);printf(n);void print_n()char a678;int i,j,k;for(i=0;i6;i+)for(j=0;j7;j+)for(k=0;k8;k+)aijk=0;for(k=3;k7;k+)a01k=*;a05k=*;a022=*;a031=*;a042=*;for(k=1;k7;k+)a13k=*;a113=*;a114=*;a122=*;a125=*;for(j=3;j6;j+)a1j1=*
14、;a1j6=*;a222=*;a233=*;a244=*;for(j=1;j6;j+)a2j1=*;a2j5=*;for(k=3;k;a35k=*;a322=*;a331=*;a342=*;for(k=1;k7;k+)a41k=*;a43k=*;a45k=*;for(j=1;j6;j+) a4j1=*;for(k=1;k7;k+) a55k=*;for(j=1;j6;j+) a5j1=*;for(j=0;j7;j+) printf(n);for(i=0;i6;i+) for(k=0;k8;k+) printf(%c,aijk); 【运行结果】【使用说明】应用程序运行后,会显示一个菜单,用户通过菜单项选择希望进行的操作项目。在第一、二、三、四个功能中,用户输入指令(即根据需要输入1,2,3,4 ),程序打开源文 件,并执行指令,结果放在目标文件中,同时把结果显示 在屏幕上。【心得体会】1 在程序设计过程中,我认识到函数、指针和文件三个章节比较重 要。2通过多个源代码的算法比较发现好的算法可以节省很多篇幅3数字字母的输出,需要先分别设计每个数字的算法,然后分百位 和十位为零和不为零讨论输出数字。4要熟悉课本上的基础,同时多看课外书籍,要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8岁创意美术课程设计
- 2023年浙江金华职业技术大学选调考试真题
- 2023年深圳公务员考试真题
- 2023年山东商务职业学院招聘考试真题
- 2023年金华市教育局直属学校招聘教师考试真题
- 有关端午节演讲稿大全12篇
- 中专护理药理学课程设计
- 2岁宝宝感统课程设计
- 人教版九年级物理第十五章电流和电路第3节串联和并联分层作业课件
- 开展学生体质达标情况自查报告(3篇)
- 2024年新疆兵团第六师五家渠市事业单位招聘161人历年(高频重点提升专题训练)共500题附带答案详解
- 2024版防水保修协议书范本
- 2024-2030年中国人造假发行业竞争策略及未来发展前景展望报告
- 2024年麻醉、精神药品处方权资格考试试题
- 2024年部编版小学五年级道德与法治上册教案3篇
- 2024-2030年中国童装行业发展趋势及发展前景研究报告
- 2024CSCO结直肠癌诊疗指南解读
- 一建【建筑】《建筑工程管理与实务》详细讲义2101
- 职业性传染病:警察健康防护指南
- 2024年演出经纪人之演出经纪实务真题(夺冠)
- GB/T 44013-2024应急避难场所分级及分类
评论
0/150
提交评论