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>" 基本操作 // 引入 ...
随机推荐
- 吃透C#集合~大话目录
最近买了一本<C#数据结构>的书,这种书确实少见,一般的数据结构都是采用C,C++来实现的,C#可以说是稀有了,呵呵,书写的不错,把C#的核心Collections介绍了一个透彻,对于我来 ...
- 拥抱开源,怎样关注Linux Kernel 邮件列表?
现在开源如此火爆.以至于张口闭口不提到都仿佛不是搞IT 的.那么怎样拥抱开源?本文适合刚開始学习的人,如有大神至此,goto exit ! 一.怎样增加开源 以Linux 为例,这么一个成功的开源项目 ...
- python闭包以及装饰器
通俗的定义:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure).它只不过是个“内层”的函数,由一个名字(变量)来指代,而这个名字(变 ...
- ios7高级
1.实现控制器和视图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 ...
- c 转置字符串You are a so cheap man ->man cheap so a are You
解题思路: 1.将字符串转置 2.对转置后的字符串中单词转置 #include<stdio.h> #include<string.h> #include<stdlib.h ...
- BZOJ 2442: [Usaco2011 Open]修剪草坪( dp )
dp dp[ i ] 表示第 i 个不选 , 前 i 个的选择合法的最小损失 , dp[ i ] = min( dp[ j ] ) ( max( 0 , i - 1 - k ) <= j < ...
- CSS样式的优先机制
链接:http://www.cnblogs.com/xugang/archive/2010/09/24/1833760.html 又抓到虫子了:IE中奇怪的应用CSS的BUG:http://www.c ...
- struts2 taglib struts标签学习整理中
项目中经常会用到struts标签,这样可以减少代码量. select用法: <s:select list="#request.sysTypes" name="rul ...
- 使用CarrierWave上传图片时,多版本文件名的统一
第一次使用CarrierWavewe做上传,不能不说,虽然Rails已经把上传变得超简单了,而CarrierWave则是把上传变成了一种享受,特别是做图片上传,现在这年代,图片展示平台已经不仅仅是电脑 ...
- 转 释一首美国民谣:沉默之音(The Sound Of Silence)
Ask not what your country can do for you , ask what you can do for your country. 六十年代对美国而言是个多事之秋的 ...