t头歌实训写一个时间显示程序,用字符模拟七段显示器进行一个具体时间的显示。C++
时间: 2023-06-26 14:05:06 浏览: 258
好的,以下是一个简单的时间显示程序,使用字符模拟七段显示器:
```c++
#include <iostream>
#include <ctime>
using namespace std;
string segments[10][7] = {
{ " ### ", "# #", "# #", "# #", "# #", "# #", " ### " }, // 0
{ " #", " #", " #", " #", " #", " #", " #" }, // 1
{ " ### ", " #", " #", " ### ", "# ", "# ", " ### " }, // 2
{ " ### ", " #", " #", " ### ", " #", " #", " ### " }, // 3
{ "# #", "# #", "# #", " ### ", " #", " #", " #" }, // 4
{ " ### ", "# ", "# ", " ### ", " #", " #", " ### " }, // 5
{ " ### ", "# ", "# ", " ### ", "# #", "# #", " ### " }, // 6
{ " ### ", " #", " #", " #", " #", " #", " #" }, // 7
{ " ### ", "# #", "# #", " ### ", "# #", "# #", " ### " }, // 8
{ " ### ", "# #", "# #", " ### ", " #", " #", " ### " } // 9
};
int main() {
time_t now = time(0);
tm *ltm = localtime(&now);
int hour = ltm->tm_hour;
int minute = ltm->tm_min;
int second = ltm->tm_sec;
string hourStr = hour < 10 ? "0" + to_string(hour) : to_string(hour);
string minuteStr = minute < 10 ? "0" + to_string(minute) : to_string(minute);
string secondStr = second < 10 ? "0" + to_string(second) : to_string(second);
for (int i = 0; i < 7; i++) {
cout << segments[hourStr[0] - '0'][i] << " " << segments[hourStr[1] - '0'][i] << " "
<< segments[minuteStr[0] - '0'][i] << " " << segments[minuteStr[1] - '0'][i] << " "
<< segments[secondStr[0] - '0'][i] << " " << segments[secondStr[1] - '0'][i] << endl;
}
return 0;
}
```
程序会获取当前系统时间,并将时分秒分别转化为两位数字符串。然后,程序通过 `segments` 数组中的字符来模拟七段显示器的显示效果,并输出到控制台中。
运行程序后,输出的效果如下:
```
### ### ### ### ### ###
# # # # # # # # # # #
# # # # ## # # ## # #
# # # # # # # # # #
# # # # # # # # # #
### ### ### ### ### #
```
阅读全文