日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言七段显示

發(fā)布時(shí)間:2024/3/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言七段显示 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
以下內(nèi)容轉(zhuǎn)自http://hi.baidu.com/unixfy/blog/item/878474053a28211a7bec2cf9.html 七段顯示的程序,實(shí)現(xiàn)鍵盤輸入一個(gè)數(shù),顯示出該數(shù)的七段顯示。 #include <iostream>

#include <vector>

#include <algorithm>

#include <string>

using namespace std;

// 實(shí)現(xiàn)輸入一個(gè)數(shù)字,輸出這個(gè)數(shù)字的 七段顯示形式

// 每個(gè)數(shù)字用一個(gè)字節(jié)表示


//0到9的表示
char numbers[] = {0x7D, 0x28, 0x37, 0x57, 0x5A, 0x4F, 0x6F, 0x54, 0x7F, 0x5E};

????

void printN(const string& n);

????

int main()

{

string n;

while (cin >> n)

printN(n);

return 0;

}

????

bool getBit(char number, char c)//七段顯示的該段是否顯示

{

return static_cast<bool>(number & c);

}

????

void printN(const string& n)

{

vector<int> v;

for (size_t i = 0; i < n.length(); ++i)

{

v.push_back(n[i]-'0');

}

for ( i = 0; i < v.size(); ++i)

{

if (getBit(numbers[v[i]], 4))

{

cout << " _ ";

}

else

{

cout << "???? ";

}

}

cout << endl;

for ( i = 0; i < v.size(); ++i)

{

if (getBit(numbers[v[i]], 8))

{

cout << "|";

}

else

{

cout << " ";

}

if (getBit(numbers[v[i]], 2))

{

cout << "_";

}

else

{

cout << " ";

}

if (getBit(numbers[v[i]], 16))

{

cout << "|";

}

else

{

cout << " ";

}

}

cout << endl;

for ( i = 0; i < v.size(); ++i)

{

if (getBit(numbers[v[i]], 32))

{

cout << "|";

}

else

{

cout << " ";

}

if (getBit(numbers[v[i]], 1))

{

cout << "_";

}

else

{

cout << " ";

}

if (getBit(numbers[v[i]], 64))

{

cout << "|";

}

else

{

cout << " ";

}

}

cout << endl;

}
編程珠璣習(xí)題3.7.8? 編寫一個(gè)使用5個(gè)七段顯示數(shù)字來顯示16位正整數(shù)的程序。輸出為一個(gè)5個(gè)字節(jié)的數(shù)組,當(dāng)且僅當(dāng)數(shù)字j中的第1段點(diǎn)亮?xí)r,字節(jié)j中的位i置1 以下內(nèi)容轉(zhuǎn)自http://blog.csdn.net/ju136/article/details/6839297 2^16 = 65536個(gè)數(shù)。所以5個(gè)七段顯示器肯定是夠用的。 首先可以預(yù)處理一下,把 {0, 2, 3, 4, 5, 6,7,8,9}相應(yīng)的8個(gè)bit置1之后的值保存到一個(gè)數(shù)組中。 char rec[10]= {0x7D, 0x28, 0x37, 0x57, 0x5A, 0x4F, 0x6F, 0x54, 0x7F, 0x5E};

char temp[5];

char *get(int n)

{

???????? int iter = 4;

???????? memset(temp, 0, sizeof(temp));

???????? while (n)

???????? {

????????????????????temp[iter--] = rec[n % 10];

????????????????????n /= 10;

???????? }

???????? while (iter>= 0) { temp[iter] = rec[0]; iter --;}

???????? return temp;

}該代碼中數(shù)的高位對(duì)應(yīng)著數(shù)組的大的下標(biāo)

轉(zhuǎn)載于:https://blog.51cto.com/buptdtt/740804

總結(jié)

以上是生活随笔為你收集整理的C语言七段显示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。