




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【内容提要】在单片机应用中,往往需要向LED阵列(一种发光二极管,多个排成二维显示屏幕)输出字符。这种字符是通过点阵一个点一个点描出来的。用0表示暗点,用1表示亮点。通常使用7×8大小的点阵来描绘ASC字符,右图使用*输出一个7×8的王字。某自选商店需要定购一种POS终端,这个终端使用LED向顾客显示应付金额,已收金额和找零金额。顾客购买商品后,由收银员统计应付金额,并通过你的程序向顾客显示应付款。顾客给足付款后,收银员计算出找零并同时通过你的程序显示已收金额和找零金额。当然顾客也可能因为最后应付金额过大而取消购买,这样就在屏幕上显示CANCEL字样。由于商店规模不是很大,
2、假定顾客购买的所有商品均在999元以内。因此实际一次显示金额最宽不超过7个字符(¥XXX.XX)。 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个模拟单片机上运行的POS系统,并能最终实现本系统的功能要求。目录1. 概述系统的主要功能···················32. 任务书的基本要求与内容·····
3、83;·········43. 系统的功能结构框图···················54. C语言程序代码·················
4、83;·····65. 运行结果···························116. 使用说明··············
5、3;·············127. 设计日志以及心得体会················12【系统的主要功能】 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个模拟单片机上运行的POS系统,并能最终实现本系统的功能要求。 你的程序需要实现以下功能:1 POS开机:第
6、一次使用POS机,需要事先清除当日已收款2 统计应付金额:收银员输入应付金额,在屏幕上用7×8点阵 显示应付金额3 收款找零:收银员输入顾客付款,在屏幕上分两行显示已收款和找零款4 取消付款:收银员取消本次购买。5. 日结算:收银员统计当日销售额。【任务书的基本要求与内容】【题目要求】1. 商场老板希望能够提高效率,提高效率的最好办法是减少收银员操作错误。如果进入用户应付款统计阶段,就只能选择收款或者取消,而不能重复统计应付款,换句话说,上述功能的3,4选项不能出现在初始菜单中,而应该在功能2中出现。而功能2进入后,要么选择收款找零,要么选择取消付款,不能进入日结算界面。2. 你的程
7、序要求以大字体点阵方式显示在屏幕上,注意到并不是每次都是显示7个字符的只有在某些情况下才出现最多7个字符【程序要求】(1) 程序正确。能够严格实现任务书中描述的功能;(2) 界面友好。尽可能使界面友好、直观、易操作;(3) 风格友好。源程序应有良好的编码风格,使程序容易阅读。【输入/输出要求】 (1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息; (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。【系统的功能结构框图】开机清零选择操作14输入应付款选择操作收款找零取消付款按任意键回主菜
8、单主菜单日结算退出系统选4选2选3选1按任意键【C语言程序代码】#include <stdio.h>#include<stdlib.h>void clear(); float check(); void print(float); void print_n(); void sum(float); void exit();static float k=0;void main() int c; float t=0; do system("CLS"); printf("tttttttttttt* * * * * * * * * * * * * *
9、 * *n"); printf("tttttttttttt* 主 菜 单 *n"); printf("tttttttttttt* *n"); printf("tttttttttttt* 1.清 除 前 一 天 数 据 *n"); printf("tttttttttttt* *n"); printf("tttttttttttt* 2.账 目 运 算 *n"); printf("tttttttttttt* *n"); printf("tttttttttttt*
10、 3.合 计 当 天 销 售 总 额 *n"); printf("tttttttttttt* *n"); printf("tttttttttttt* 4.退 出 系 统 *n"); printf("tttttttttttt* * * * * * * * * * * * * * * *n"); printf(" n"); printf("tttttttttttt 选择数字进行操作 1234: "); scanf("%d",&c); switch(c) case
11、 1: clear();break; case 2: check();break; case 3: sum(k);break; case 4: exit(0);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,lef
12、t; 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) printf("输入顾客付款总额: n"); scanf
13、("%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(&q
14、uot;n"); system("pause"); return(k); system("CLS"); /*总额运算函数*/void sum(float d) FILE *fp; system("CLS"); printf("今天销售总额是: %-.2fn",d); fp=fopen("E:shuju.txt","a"); fprintf(fp,"%.2fn",d); print (d); fclose(fp);void print(float
15、n) char a1578; int p7,i,j,k,q; long m; for(i=0;i<15;i+) for(j=0;j<7;j+) for(k=0;k<8;k+) aijk='0' for(j=1;j<6;j+) a0j1='*'a0j6='*' for(k=1;k<7;k+) a01k='*'a05k='*' for(j=1;j<6;j+) a1j6='*' for(k=1;k<7;k+) a21k='*'a23k='*
16、'a25k='*' for(j=3;j<6;j+) a2j1='*' for(j=1;j<4;j+) a2j6='*' for(k=1;k<7;k+) a31k='*'a33k='*'a35k='*' for(j=1;j<6;j+) a3j6='*' for(k=1;k<7;k+) a44k='*'a423='*'a432='*' for(j=1;j<6;j+) a4j4='*'
17、; for(k=1;k<7;k+) a51k='*'a53k='*'a55k='*' for(j=1;j<4;j+) a5j1='*' for(j=3;j<6;j+) a5j6='*' for(k=1;k<7;k+) a61k='*'a63k='*'a65k='*' for(j=1;j<6;j+) a6j1='*' for(j=3;j<6;j+) a6j6='*' for(k=1;k<7;k+)
18、 a71k='*' for(j=1;j<6;j+) a7j6='*' for(k=1;k<7;k+) a81k='*'a83k='*'a85k='*' for(j=1;j<6;j+) a8j1='*'a8j6='*' for(k=1;k<7;k+) a91k='*'a93k='*'a95k='*' for(j=1;j<4;j+) a9j1='*' for(j=1;j<6;j+) a9j
19、6='*' for(k=5;k<7;k+) a104k='*'a105k='*' for(k=1;k<7;k+) a113k='*'a114k='*' for(j=2;j<7;j+) a11j3='*'a11j4='*' a1101='*'a1106='*'a1112='*'a1115='*' for(j=0;j<7;j+) for(k=0;k<8;k+) a12jk='0'
20、 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/10000)%10;p0=11; if(p1=0) p1=12; if(p2=0) p2=12; for(j=0;j<7;j+) for(q=0;q<7;q+) for(k=0;k<8;k+) printf("%c",apqjk); printf("n"); else for(j=0;j<7;j+) for(q=0;q<7;q+) for(k=0;k<8
21、;k+) printf("%c",apqjk); printf("n"); else for(j=0;j<7;j+) for(q=0;q<7;q+) for(k=0;k<8;k+) printf("%c",apqjk); printf("n"); void print_n()char a678;int i,j,k; for(i=0;i<6;i+) for(j=0;j<7;j+) for(k=0;k<8;k+) aijk='0'for(k=3;k<7;k+)a
22、01k='*'a05k='*'a022='*'a031='*'a042='*'for(k=1;k<7;k+)a13k='*'a113='*'a114='*'a122='*'a125='*'for(j=3;j<6;j+)a1j1='*'a1j6='*'a222='*'a233='*'a244='*'for(j=1;j<6;j+)a2j1='*'a2j5='*'for(k=3;k<7;k+)a31k='*'a35k='*'a322='*'a331='*'a342='*'for(k=1;k<7;k+)a41k='*'a4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年装饰材料行业当前发展现状及增长策略研究报告
- 2025年电子专用设备行业当前发展趋势与投资机遇洞察报告
- 收寄安全知识培训课件考试
- 试生产情况总结报告
- 攀爬围墙安全知识培训总结课件
- 2025年事业单位考试医学基础知识真题及答案
- 2025年二级建造师之二建建设工程法规及相关知识基础试题库和答案
- 危重病学组应知应会试题(附答案)
- 2024年山东省威海市医疗三严三基理论考试题库及答案
- 2025年幼儿园事业单位招聘工作人员考试《保教知识与能力》真题及答案
- JJG 1114-2015液化天然气加气机
- GB/T 4857.17-2017包装运输包装件基本试验第17部分:编制性能试验大纲的通用规则
- GB/T 23469-2009坠落防护连接器
- GB/T 15670-1995农药登记毒理学试验方法
- GB/T 13477.11-2017建筑密封材料试验方法第11部分:浸水后定伸粘结性的测定
- 语文课程与教学论课件
- LTD2100探地雷达技术培训探测过程课件
- CCU二月份理论考试试题
- 2耐压试验报告
- 医疗器械生产质量管理标准标准教材
- Q∕GDW 12106.3-2021 物联管理平台技术和功能规范 第3部分:应用商店技术要求
评论
0/150
提交评论