C++实现闹钟程序的方法

2013-11-12  来源:本站原创  分类:C 语言  人气:1 

这篇文章主要介绍了C++实现闹钟程序的方法,比较实用的功能,需要的朋友可以参考下

本文所述为C++实现闹钟程序的方法,代码结构相对简单,注释也较为完善。现分享给大家供大家参考。

具体功能代码如下:

#include<iostream>
#include<string>
#include<ctime>
using namespace std;
//时间类
class Time{
private:
    int hour;
    int minute;
    int second;
public:
    //设置时间
    void set(int h,int m,int s){
        hour = h;
        minute = m;
        second = s;
    }
    //时间走一秒,时分秒的变化情况
    void next(){
        if(second<59)
            second++;
        else if(minute<59){
            second=0;
            minute++;}
        else if(hour<23){
            minute=0;
            hour++;}
        else
            hour=0;
    }
    //得到时间
    int get(){
        return hour*10000+minute*100+second;
    }
};
//时钟类
class Clock{
private:
    Time now;
    Time ring_time;
public:
    //对表,设定初始时间
    void adjust_now(int h,int m,int s){
        now.set(h,m,s);
        cout<<"现在的时间是:"<<h<<"时"<<m<<"分"<<s<<"秒"<<endl;
    }
    //设定闹铃时间
    void adjust_ring(int h,int m,int s){
        ring_time.set(h,m,s);
        cout<<"闹铃时间是:"<<h<<"时"<<m<<"分"<<s<<"秒"<<endl;
    }
    //时间过一秒
    void tick(){
        long int old=time(0);
        while(time(0)==old)
            ;
        now.next();
    }
    //显示当前时间
    void showtime(){
        cout<<now.get()<<endl;
    }
    //时钟开始走时,等到了闹铃时间,开始响
    void run(){
        do{
            tick();
            showtime();
            if(now.get()>=ring_time.get())
                cout<<'\a';
        }while(1);
    }
};

int main(){

    Clock c;
    c.adjust_now(18,35,40);     //起始时间
    c.adjust_ring(18,35,45);    //闹铃时间

    c.run();
}

感兴趣的读者可以测试运行一下该实例代码,功能不足之处可以根据情况加以改进和完善。希望该实例能够对大家学习C++起到一定的帮助作用。

相关文章
  • C++实现闹钟程序的方法 2013-11-12

    这篇文章主要介绍了C++实现闹钟程序的方法,比较实用的功能,需要的朋友可以参考下 本文所述为C++实现闹钟程序的方法,代码结构相对简单,注释也较为完善.现分享给大家供大家参考. 具体功能代码如下: #include<iostream> #include<string> #include<ctime> using namespace std; //时间类 class Time{ private: int hour; int minute; int second; publ

  • 利用QT写一个极简单的图形化Python闹钟程序 2013-12-30

    这篇文章主要介绍了利用QT写一个极简单的图形化Python闹钟程序,核心代码只有25行,显示屏幕提示而没有闹铃声音,需要的朋友可以参考下 今天我们讲一下用Python写的GUI小程序.一个小闹钟(只是屏幕提示,没有声音哦) 让我们先介绍这个闹钟如何奇葩. 需要通过命令行启动. 没有标题栏. 没菜单. 甚至没有关闭按钮. 没有运行界面. 看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢.显然,教育意义大于其实际用处. 像其他的模块一样,QT界面包是需要加载的. 我们用到了命令行输入,所以,s

  • 优化PHP程序的方法小结 2013-10-24

    优化PHP程序的方法小结,学习php的朋友可以参考下 1. If a method c++an be static, declare it static. Speed improvement is by a factor of 4. 如果一个方法可静态化,就对它做静态声明.速率可提升至4倍. 2. echo is faster than print. echo 比 print 快. 3. Use echo's multiple parameters instead of string conca

  • 自定义vbs脚本实现开机后延时启动指定程序的方法 2013-11-11

    这篇文章主要介绍了自定义vbs脚本实现开机后延时启动指定程序的方法,本文以延迟启动金山毒霸为例,需要的朋友可以参考下 概述 系统开机时,顺带自动启动了不少驱动程序,使得电脑开机后鼠标要呆滞许久.为了加快windows的开机速度,在参考网上不少大牛的资料后,整理出使用vbs脚本实现开机后延时启动程序的方法 vbs内容示例: Dim delayer Set delayer = CreateObject("WScript.Shell") WScript.sleep 8000 delayer.

  • 清除aspx页面缓存的程序实现方法 2014-03-20

    这篇文章主要介绍了清除aspx页面缓存的程序实现方法,非常实用,需要的朋友可以参考下 本文实例介绍了清除aspx页面缓存的程序实现方法,具体步骤如下: 所有用到页面缓存的aspx页面修改以下cs,让它继承一个自定义基类(例如:PageCacheBase); PageCacheBase 的 Page_Load 加入以下代码: string cacheKey = Request.Url.ToString(); Cache[cacheKey] = new object(); Response.AddC

  • C#列出当前系统所有正在运行程序的方法 2014-05-08

    这篇文章主要介绍了C#列出当前系统所有正在运行程序的方法,涉及C#操作系统进程的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了C#列出当前系统所有正在运行程序的方法.分享给大家供大家参考.具体实现方法如下: Using System.Diagnostics; foreach(Process p in Process.GetProcesses(System.Environment.MachineName)) { if (p.MainWindowHandle! = IntPtr.Z

  • C#使用timer实现的简单闹钟程序 2014-05-19

    这篇文章主要介绍了C#使用timer实现的简单闹钟程序,涉及timer控件的使用及音频文件的操作技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#使用timer实现的简单闹钟程序.分享给大家供大家参考.具体如下: 当我在电脑上工作,我经常会被一些东西吸引,比如某宝,结果三个小时过去了我都完全没有注意到.所以我通过C#做了一个简单闹钟程序,这个小程序主要使用C# Timer对象,让用户设定一个倒计时的时长,如果时间到了,就播放一个wav音频文件(也就是闹铃). 我一直试图保持这个ti

  • C#中WinForm程序退出方法技巧总结 2014-07-02

    这篇文章主要介绍了C#中WinForm程序退出方法,实例总结了技巧退出WinForm程序窗口的各种常用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他们各自的方法不一样,下面我们就来详

  • 用C#实现启动另一程序的方法实例 2014-12-07

    一段实例代码,程序的目的是使用C#实现启动另一程序的方法.技术总监?出了我们这样一个有效的启动程序的有效方法,?在和大家分享下 private void btnCreate_Click(object sender, EventArgs e) ...{ int hWnd = FindWindow(null, "test");//窗?的名? //check if PowerReuse is launched or not //if yes, pass path of project to

  • Python通过解析网页实现看报程序的方法 2015-02-01

    这篇文章主要介绍了Python通过解析网页实现看报程序的方法,比较实用的功能,需要的朋友可以参考下 本文所述实例可以实现基于Python的查看图片报纸<参考消息>并将当天的图片报纸自动下载到本地供查看的功能,具体实现代码如下: # coding=gbk import urllib2 import socket import re import time import os # timeout in seconds #timeout = 10 #socket.setdefaulttimeout(

  • C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance) 2015-02-03

    这篇文章主要介绍了C#实现只运行单个实例应用程序的方法,本文使用的是VB.Net的IsSingleInstance方法实现,优于Mutex 和 Process 这两种只运行单个应用程序实例的方法,需要的朋友可以参考下 从 <<Windows Forms 2.0 Programming, 2nd Edition>> - Single-Instance Applications 这一章中, 学到了调用 VB.Net 中的 IsSingleInstance, 为 C# WinForm 添

  • asp.net中button控制先执行js再执行后台程序的方法 2015-04-16

    这篇文章主要介绍了asp.net中button控制先执行js再执行后台程序的方法,涉及button控件与js的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了asp.net中button控制先执行js再执行后台程序的方法.分享给大家供大家参考.具体分析如下: 在.net中要实现button控制点击之后先执行js再执行后台程序这个看上去没什么难度,这里我们就一起来看一个asp.net中button控制先执行js再执行后台程序的实现方法,希望可以帮助到各位. 关于button这个

  • Mac OS X: login之前/之后启动程序的方法 2012-03-09

    下面是看到的总结OS X里面如何在用户登录前自动运行一个程序的方法: 1) GUI applications launched by putting them in /Library/Preferences/loginwindow.plist -> AutoLaunchedApplicationDictionary 2) A single Non-GUI executable launched using the loginhook 3) A single Non-GUI executable

  • Linux中使用Crontab定时监测维护Tomcat应用程序的方法 2013-10-20

    定时监测发布的某项应用程序是否可用,如果不可用,立即执行处理措施,实现自动化运维工作 监测的应用接口: 新闻接口.天气接口 处理方法:应用接口不可用时自动重启Tomcat,并发送告警邮件给相关人员 #!/bin/bash #--------------------------------------------------------- # 功能说明: # 监控指定HTTP服务是否可用,如果不可用立即重启Tomcat # # 使用说明: # 1. 将此脚本放置在/home/opentsp/cro

  • GCC 编译c程序的方法及过程解析 2013-11-15

    目前 Linux 下最常用的 C 语言编译器是 GCC ( GNU Compiler Collection ),它是 GNU 项目中符合 ANSI C 标准的编译系统,能够编译用 C . C++ 和 Object C 等语言编写的程序 目前 Linux 下最常用的 C 语言编译器是 GCC ( GNU Compiler Collection ),它是 GNU 项目中符合 ANSI C 标准的编译系统,能够编译用 C . C++ 和 Object C 等语言编写的程序. GCC 不仅功能非常强大,

  • JavaScript与C# Windows应用程序交互方法 2013-12-13

    一.建立网页 <html> <head> <meta http-equiv="Content-Language" content="zh-cn"> <script language="javascript" type="text/javascript"> <!-- 提供给C#程序调用的方法 --> function messageBox(message) { aler

  • 调试ASP.NET应用程序的方法和技巧 2014-04-18

    以前使用ASP开发过Web应用程序的人员肯定知道调试Web应用程序是多么麻烦.在ASP中,调试是痛苦的,通常包括了使用Response.Write()方法输出变量的值.那么请问一下自己:你有多少次忘记了在布署应用程序之前删除了调试语句? 随着.NET框架组件的出现这种情况发生了彻底的改变.在.NET中,你可以使用Visual Studio .NET中的调试程序跟踪整个Web应用程序的执行,或者使用System.Web.TraceContext名字空间中的Trace类.本文演示如何使用Trace类

  • 使用NetBeans + Xdebug调试PHP程序的方法 2015-03-16

    前些天发现通过Notepad++的DBGP插件结合PHP的xdebug扩展可以实现PHP文件调试,同时,介绍说包含了单步调试.监视变量还有跨文件调试. 按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了,试用过程中因为DBGP插件也存在许多缺陷,烦恼不断,经常性地stack overflow,很是遗憾.后来想想Np++只是Editor,不要对它强求过多,插件的版本也比较低,存在许多BUG也是可以理解的,等它慢慢完善再说吧,开源社区的力量

  • 使用VC++2008编写C/C++控制台程序的方法 2014-12-13

    最近看到很多人都在问VC++2008的使用方法,闲来无事就写了这篇文章,希望对新手有用,高手请飘过! 1.启动VS2008(我的默认环境是VC),单击"File"->"New"->"Project" 出现如下对话框: 接下来按照图示来,我就不文字叙述了. 2.点击"Finish"后,在右击"Source Files"->"Add"->"New Item&

  • erlang学习系列(0)运行程序的方法 2014-03-18

    erlang是一个专为并行优化的语言,语法怪异,使用麻烦之类自不必说,使用范围也仅限于高并发程序. 计时器运行方法: hw.erl -module(hw). -author("liuwei"). %% API -export([start/2, cancel/1]). start(Time, Fun) -> spawn(fun() -> timer(Time, Fun) end). cancel(Pid) -> Pid ! cancel. timer(Time, Fu