c显示数字的LED(数字转LED)
实现这么一个函数:传入一个int值,在屏幕输出类似LED显示屏效果的字母拼图,例如:
输入1234567890,输出:
请注意每个字符的固定宽度和高度,两个数字间保留一个空格。
函数名:void LEDprint(int num);
此题是表驱动方法的典型应用。
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
//每个字符宽度为5,长度为7
string LEDarray[][]={
{" --- ", //
"| |",
"| |",
"| |",
"| |",
"| |",
" --- "}, {" ", //
" |",
" |",
" ",
" |",
" |",
" "}, {" --- ", //
" |",
" |",
" --- ",
"| ",
"| ",
" --- "}, {" --- ",
" |",
" |",
" --- ",
" |",
" |",
" --- "}, {" ",
"| |",
"| |",
" --- ",
" |",
" |",
" "}, {" --- ",
"| ",
"| ",
" --- ",
" |",
" |",
" --- "}, {" --- ",
"| ",
"| ",
" --- ",
"| |",
"| |",
" --- "}, {" --- ",
" |",
" |",
" ",
" |",
" |",
" "}, {" --- ",
"| |",
"| |",
" --- ",
"| |",
"| |",
" --- "}, {" --- ",
"| |",
"| |",
" --- ",
" |",
" |",
" --- "}
}; void LEDPrint(int num)
{
if(num<)
return;
char str[]={'\0'};
itoa(num,str,); int len=strlen(str);
string (*LED)[]=new string[len][]; for(int i=;i<len;i++)
{
int index=str[i]-'';//重点在这里
for(int j=;j<;j++)
{
LED[i][j]=LEDarray[index][j];
}
} for(int j=;j<;j++)
{
for(int i=;i<len;i++)
{
cout<<LED[i][j]<<" ";
}
cout<<endl;
}
/*
这里不能delete,因为后面的7,不能new出来的,
for(int i=0;i<len;i++)
delete[] LED[i]; */
delete[] LED;
} int main()
{
cout<<"input a number"<<endl;
int num;
while(cin>>num)
{
LEDPrint(num);
}
cout<<endl<<endl;
}
唯一值得注意的地方是delete:
只需delete[] LED即可。后面的7不是new出来的,如果delete程序会运行错误。
还有一点
还有一点,char的大小为什么是:
char str[11]
因为int类型的最大的只有10位,我们开辟11就够了。
参考:http://blog.chinaunix.net/uid-27034868-id-3811600.html
c显示数字的LED(数字转LED)的更多相关文章
- 一个简易的 LED 数字时钟实现方法
这个应该是已经有很多人做过的东西,我应该只是算手痒,想写一下,所以,花了点时间折腾了这个,顺便把 Dark Mode 的处理也加上了. 首先可以很明确的一点,这个真没技术含量存在,只是需要点耐心. L ...
- WPF中StringFormat的用法--显示特定位数的数字
原文:WPF中StringFormat的用法--显示特定位数的数字 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/art ...
- Oracle 把秒转成时分秒格式(hh24:mm:ss);检测字符串是否是数字;字符串转换为数字
不说废话,贴代码: CREATE OR REPLACE FUNCTION to_time(sec IN NUMBER) RETURN VARCHAR2 IS /*把秒转成时分秒格式 auth lzpo ...
- php实现数字格式化,数字每三位加逗号的功能函数
原地址:http://www.jb51.net/article/73781.htm php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 ...
- oracle 非数字型转数字型
原文:oracle 非数字型转数字型 oracle中如果一个字段内容不全是数字型 可以通过以下方式过滤 to_number(substr(translate(a.vital_signs_cvalues ...
- 几个有用的javascript(日期比较,数字验证,数字和汉字长度计算)
1:日期大Js代码 //人员失效职位日期是否小于组织失效日期 function perDateInvalidate(){ var flag = true; //组织失效日期 var orgDate = ...
- Perl字符集[\d\D]表示任何字符(所有数字和非数字,包括换行符),“.”表示除了换行符以外的所有字符。
Perl字符集[\d\D]表示任何字符(所有数字和非数字,包括换行符),“.”表示除了换行符以外的所有字符.
- JAVA处理数字与中文数字互转(最大处理数字不超过万兆即:9999999999999999.9999)
package practice; import java.util.Arrays; /** * 数字与中文数字互转(最大处理数字不超过万兆即:9999999999999999.9999) * @au ...
- Commercial Lighting: LED Ceiling Light, LED Ceiling Light
Unlike ceiling lamps, floor lamps, chandeliers, lamps that can sometimes rely on "faces", ...
- C++中使用sstream进行类型转换(数字字符串转数字、数字转数字字符串)
1.sstream知识 sstream即字符串流.在使用字符串流sstream时,需要先引入相应的头文件 "#include <sstream>" 基本操作 // 引入 ...
随机推荐
- IOS学习之蓝牙4.0 BLE
IOS学习也一段时间了,该上点干货了.前段时间研究了一下IOS蓝牙通讯相关的东西,把研究的一个成果给大家分享一下. 一 项目背景 简单介绍一下做的东西,设备是一个金融刷卡器,通过蓝牙与iphone手机 ...
- Jquery ajax调用后台aspx后台文件方法(不是ashx)
在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下 ...
- MVC过滤器基本使用
Action过滤器 /// <summary> /// 执行代码前执行 /// </summary> /// <param name="filterCo ...
- 获取当前WEB应用全路径
<%String path = request.getContextPath();String basePath =request.getScheme()+"://"+req ...
- MVC下载Excel
方法1: public ActionResult DownExcel() { var stream = list.Select(p => new { p.UserName, p.Mobile, ...
- C# 微信公众平台开发(2)-- 微信菜单
上一篇了解微信开发者中心 URL的配置验证: 验证成功后,就可以对获取的接口权限进行操作 自定义菜单接口可实现多种类型按钮,用的比较多的是 1.click:点击推事件 用户点击click类型按钮后,微 ...
- C++对象模型--总结
http://c.biancheng.net/cpp/biancheng/view/239.html 博客园有关C++内存布局,对象模型的文章. Effective C++ 绝不重写non-virtu ...
- 我用过的Linux命令--虚拟机和宿主机的网络连接方式
VMWare提供了三种工作模式,它们是bridged(bridged模式:对应网卡vment0).NAT(网络地址转换模式:对应网卡vment8)和host-only(主机模式:对应网卡vment1) ...
- CDH 无法查看history log
1.配置(core-site.xml) <property> <name>hadoop.http.staticuser.user</name> <valu ...
- 中国天气网API
中国天气网有三个 API 适用于不同场合的使用. http://m.weather.com.cn/data/101050101.html 这个接口返回的格式如下. { "weatherinf ...