题目:
导入现在时间
年 月 日
时 分 秒
代码
#include <iostream>
#include <unistd.h>
using namespace std;
int GetYear(int year);
int GetMonth(int year, int month);
void Run(int year, int &Jan);
string Day(int day);
string Use(int y, int m, int d);
int main()
{
cout << "\033[2J\033[1000A";
int year, month, day, hour, min, sec, last;
while (true)
{
time_t now = time(0);
tm *ltm = localtime(&now);
year = 1900 + ltm->tm_year;
last = ltm->tm_year - 100;
month = 1 + ltm->tm_mon;
day = ltm->tm_mday;
hour = ltm->tm_hour;
min = ltm->tm_min;
sec = ltm->tm_sec;
cout << year << "年"
<< month << "月"
<< day << "日 "
<< "星期" << Use(last, month, day) << endl << "\t\b\b\b";
if (hour < 10)
{
cout << 0;
}
cout << hour << ":";
if (min < 10)
{
cout << 0;
}
cout << min << ":";
if (sec < 10)
{
cout << 0;
}
cout << sec << endl;
sleep(1);
cout << "\033[2J\033[1000A";
}
return 0;
}
int GetYear(int year)
{
year = (year / 4 + year) % 7;
return year;
}
int GetMonth(int year, int month)
{
if (month == 10)
{
month = 6;
}
else if (month == 3
||month == 11)
{
month = 2;
}
else if (month == 4
||month == 7)
{
month = 5;
}
else if (month == 8)
{
month = 1;
}
else if (month == 6)
{
month = 3;
}
else if (month == 5)
{
month = 0;
}
else if (month == 9
||month == 12)
{
month = 4;
}
else if (month == 1)
{
month = 6;
Run(year, month);
}
else
{
month = 2;
Run(year, month);
}
return month;
}
void Run(int year, int &Jan)
{
if (year % 4 == 0)
{
Jan--;
}
}
string Day(int day)
{
string yad;
switch (day)
{
case 1:
yad = "一";
break;
case 2:
yad = "二";
break;
case 3:
yad = "三";
break;
case 4:
yad = "四";
break;
case 5:
yad = "五";
break;
case 6:
yad = "六";
break;
case 7:
yad = "日";
break;
}
return yad;
}
string Use(int y, int m, int d)
{
int day = GetYear(y) + GetMonth(y, m) + d;
while (day > 7)
{
day -= 7;
}
return Day(day);
}