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++起到一定的帮助作用。

(0)

相关推荐

  • java开发之闹钟的实现代码

    项目结构: 效果图一: 效果图二: 效果图三: 关于闹钟: 复制代码 代码如下: Alarm hongten v1.0 使用说明: 此文件夹中包括:             src文件夹       存放图片和声音文件夹,使用程序的时候,请不要删除此文件夹             alarm.jar    主要的功能程序jar包(要求安装jdk1.5或以上版本)             ReadMe.txt     说明文档 1.菜单功能说明 文件-- >               上传铃声(

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

    今天我们讲一下用Python写的GUI小程序.一个小闹钟(只是屏幕提示,没有声音哦) 让我们先介绍这个闹钟如何奇葩. 需要通过命令行启动. 没有标题栏. 没菜单. 甚至没有关闭按钮. 没有运行界面. 看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢.显然,教育意义大于其实际用处. 像其他的模块一样,QT界面包是需要加载的. 我们用到了命令行输入,所以,sys模块也是必须的. 用到了时间,但是我们不需要使用time模块,我们用QT提供的QTime模块. 让我们先写import 语句部分. i

  • python命令行参数sys.argv使用示例

    复制代码 代码如下: #diff.py#!/bin/env python import sys if len(sys.argv) <> 3:    print "Usage: " + sys.argv[0] + "file1 file2"    sys.exit(-1) file1 = sys.argv[1]file2 = sys.argv[2] list1 = {}for line in open(file1):    list1[line.split

  • 用Python实现命令行闹钟脚本实例

    前言: 这篇文章给大家介绍了怎样用python创建一个简单的报警,它可以运行在命令行终端,它需要分钟做为命令行参数,在这个分钟后会打印"wake-up"消息,并响铃报警,你可以用0分钟来测试,它会立即执行,用扬声器控制面板调整声音. 以下是脚本: # alarm_clock.py # Description: A simple Python program to make the computer act # like an alarm clock. Start it running

  • python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numerical_input.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to get numerical input # from the c

  • python实现读取命令行参数的方法

    本文实例讲述了python读取命令行参数的方法.分享给大家供大家参考.具体分析如下: 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名:    sys.argv[0] 参数1:     sys.argv[1] 参数2:     sys.argv[2] test.py: import sys print "脚本名:", sys.argv[0] for i in rang

  • Python 命令行参数sys.argv

    Python代码: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import os, sysos.system(sys.argv[1])带参数执行 python xxx.py speos.system 是用来执行命令行的.因此该程序会接收到第一个参数spe,然后在命令行里执行spe,这样,spe(Python IDE)就打开了.

  • python实现定制交互式命令行的方法

    Python的交互式命令行可通过启动文件来配置. 当Python启动时,会查找环境变量PYTHONSTARTUP,并且执行该变量中所指定文件里的程序代码.该指定文件名称以及地址可以是随意的.按Tab键时会自动补全内容和命令历史.这对命令行的有效增强,而这些工具则是基于readline模块实现的(这需要readline程序库辅助实现). 此处为大家举一个简单的启动脚本文件例子,它为python命令行添加了按键自动补全内容和历史命令功能. [python@python ~]$ cat .python

  • python 获取命令行参数 函数

    import sys print sys.argv print len(sys.argv) #参数个数 print sys.argv[1] #第一个参数 print sys.argv[2]

  • Python getopt模块处理命令行选项实例

    getopt模块用于抽出命令行选项和参数,也就是sys.argv命令行选项使得程序的参数更加灵活.支持短选项模式和长选项模式例如  python scriptname.py -f 'hello' --directory-prefix=/home -t --format 'a' 'b' 复制代码 代码如下: import getopt, sysshortargs = 'f:t'longargs = ['directory-prefix=', 'format']opts, args = getopt

随机推荐