纯文字无音乐文件版闹铃-C++

这个的本质其实就是个简单的计时器

/*
功能:改写闹钟类
日期:2013-10-19
*/
#include <iostream>
#include <string>
#include <ctime>
using namespace std;
class Time
{
public:
   void getNow(time_t t,tm *lt)const;

public:
    int m_aYear;
	int m_aMonth;
    int m_aDay;
	int m_aHour;
	int m_aMinute;
    int m_aSecond;
    time_t t;
	tm *lt;
	string m_aName;
};
class Clock:public Time
{
public:
     void getClock(time_t t,tm *lt);
	 void setName(string name);
	 void setDay(int aYear,int aMonth,int aDay);
	 void setTime(int aHour,int aMinute,int aSecond);
};
void Time::getNow(time_t t,tm *lt)const
{

	cout<<"现在时间:"<<lt->tm_year+1900<<"-"<<lt->tm_mon+1<<"-"<<lt->tm_mday<<" "<<lt->tm_hour<<":"<<lt->tm_min<<":"<<lt->tm_sec<<endl;
}
void Clock::setName(string name)
{

	m_aName = name;
}
void Clock::setDay(int aYear,int aMonth,int aDay)
{
    m_aYear = aYear;
	m_aMonth = aMonth;
	m_aDay = aDay;
}
void Clock::setTime(int aHour,int aMinute,int aSecond)
{
   m_aHour = aHour;
   m_aMinute = aMinute;
   m_aSecond = aSecond;
}
void Clock::getClock(time_t t,tm *lt)
{

	cout<<"闹铃启动..."<<endl;
	while(1)
	{

		if (m_aYear == lt->tm_year+1900&&m_aMonth ==lt->tm_mon+1&&m_aDay == lt->tm_mday&&m_aHour ==lt->tm_hour&&m_aMinute==lt->tm_min&&m_aSecond==lt->tm_sec)
		{
            cout<<m_aName<<"开始行动啦!"<<endl;
			break;
		}
		t = time(NULL);
		lt = localtime(&t);
	}

}
int main(void)
{

	Time timea;
	Clock clock;
	string name;
	time_t t;
	tm *lt;
	int year,month,day,hour,minute,second;
	t = time(NULL);
	lt = localtime(&t);

	cout<<"欢迎使用电子闹钟,请输入您的名字:"<<endl;
	cin>>name;
	clock.setName(name);
	timea.getNow(t, lt);

    cout<<"请输入您的闹铃日期:(年、月、天使用回车隔开):"<<endl;
	cin>>year>>month>>day;
	clock.setDay(year,month,day);

	cout<<"请输入您的闹铃时间:(时、分、秒使用回车隔开):"<<endl;
    cin>>hour>>minute>>second;
	clock.setTime(hour,minute,second);

    clock.getClock(t,lt);

	system("pause");
	return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE

    在使用DBCA命令创建新的数据库时,DBCA命令无法启动。运行的环境是宿主机64bit+AMD cpu, 而客户机为Linux 32bit + Grid...

912
来自专栏bboysoul

使用永恒之蓝(MS17-010)漏洞入侵windows7

前几天,被勒索病毒(Wannacry)刷屏了,这个病毒是大家知道了备份文件的重要性,当然,我是不怕什么病毒的,因为我是一天备份一次文件,而且微云一份,坚果云,移...

1.8K4
来自专栏光变

Gradle Unsupported Method 'provided'

791
来自专栏北京马哥教育

两大Linux发行版迎来大幅更新 Debian 9及Fedora 26 Beta终于发布

Debian 9终于发布 Debian 发行版宣布正式释出代号为 Stretch 的 Debian 9,该版本将提供五年的支持。Stretch 将专门献给于 2...

3294
来自专栏数据和云

实践真知:使用ASM和文件系统的数据库在AIO上有何不同?

张大朋(Lunar)Oracle 资深技术专家 Lunar 拥有超过十年的 ORACLE SUPPORT 从业经验,曾经服务于ORACLE ACS部门,现就职...

2944
来自专栏Ubuntu运维

腾讯云Ubuntu Server 16.04.1 LTS升级系统到Ubuntu 18.04.1 LTS

* 此修改方案为临时方案(/etc/resolv.conf文件系统重启后会自动还原),最终方案待定,下方为腾讯云原装Ubuntu 18.04.1 LTS系统镜像...

1.2K0
来自专栏java系列博客

curl的安装与简单使用

3295
来自专栏程序员与猫

Log system architecture

Keywords: Collector, Processor, Aggregator

1671
来自专栏耕耘实录

找回win7桌面IE图标我有绝招

现在很多同学都用了微软的新一代操作系统Windows7,都为Windows7的华丽界面及更人性化得操作所深深吸引,但是由于我们大多数同学都习惯了原来的Windo...

2935
来自专栏Samego开发资源

It can make your ssh login simply as well as efficiently on Mac or Linux

It can make your ssh login simply as well as efficiently on Mac or LInux. 点我翻译 ...

932

扫码关注云+社区

领取腾讯云代金券