最简单的电子时钟程序(C++)

理解

我不明白很多人为什么对一个时钟问题用这么多行代码,很难吗,很难吗?????????
很难么? 😵
难么? 😵
么? 😵
? 😵

人家的代码

Barry_Liu_博客的代码👇

#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
class clock
{
    public:
        clock(int h=0,int m=0,int s=0): hour(h),minute(m),second(s) {}
        void run()
        {
            while(true)
            {
                show();
                Sleep(1000);
                move_s();
            }
        }
 
    private:
        int hour;
        int minute;
        int second;
        void show()
        {
            system("cls");
            cout<<setw(2)<<setfill('0')<<hour<<':';
            cout<<setw(2)<<setfill('0')<<minute<<':';
            cout<<setw(2)<<setfill('0')<<second;;
        }
        void move_s()
        {
            second++;
            minute+=second/60;
            second%=60;
            hour+=minute/60;
            minute%=60;
            hour%=24;
        }
};
int main()
{
    clock swatch;
    swatch.run();
 
    return 0;
}

感觉很长,运行结果👇
在这里插入图片描述
不得不说,46行代码,太长了
不是说我吹牛我好,是因为同样一种效果,效率要快,而不是说只要弄出这种效果就可以了
简便的方法非要弄成复杂的方法,一道应用题,很简便,而你弄得那么复杂,批卷老师很有可能扣你的分,使100分溜之其乎

不信再来举例子

LiuBo_01博客的代码👇

#include<iostream>
#include<iomanip>
#include<Windows.h>

using namespace std;

class Clock
{
public:
    Clock(){};
    void SetTime(int newH = 0, int newM = 0, int newS = 0);
    void ShowTime();
    void Run();          //Run()控制计时
private:
    int hour, minute, second;
};
void Clock::SetTime(int newH, int newM, int newS) //设置时间
{
    hour = newH;
    minute = newM;
    second = newS;
}

void Clock::ShowTime()        //显示时间,在显示时间前进行判断,如果时间设置不合适,则提示错误
{
    if (hour > 24 || hour<0 || minute>60 || minute<0 || second>60 || second < 0)
    {
        cout << "输入有误!" << endl;
        exit(0);
    }
    else
    {
        cout << setw(2) << setfill('0') << hour << ":" << setw(2) << setfill('0')   //<<setw(2)<<setfill('0')设置域宽为2 不够的话用字符‘0’填充  
            << minute << ":" << setw(2) << setfill('0') << second << endl;
    }
}

void Clock::Run()  //实现计时功能
{

    while (1)
    {
        second += 1;
        if (second >= 60)
        {
            second -= 60;
            minute += 1;

        }
        if (minute >= 60)
        {
            minute -= 60;
            hour += 1;
        }
        if (hour >= 24)
        {
            hour -= 24;
        }
        system("cls");
        ShowTime();
        Sleep(1000);
    }
}
int main()
{
    Clock myClock;         //定义时钟类对象
    myClock.SetTime(23,59,55);
    myClock.ShowTime();
    myClock.Run();
    return 0;
}

Run的效果👇
在这里插入图片描述
71行代码

最终的简单代码

#include<iostream>
#include<time.h>
#include<stdlib.h>
#include<windows.h>//不必建函数
using namespace std;
int main()
{
	int a=0,b=0,c=0,d=0,e=0,f=0;
	while(1)
	{
		cout<<a;
		cout<<b;
		cout<<":";
		cout<<c;
		cout<<d;
		cout<<":";
		cout<<e;
		cout<<f;
		f++;
		if(f==10)
		{
			f=0;
			e++;
		}
		if(e==6)
		{
			e=0;
			d++;
		}
		if(d==10)
			c++;
		if(c==6)
			b++;
		if(a==2&&b==4)
		{
			a=0;
			b=0;
			c=0;
			d=0;
			e=0;
			f=0;
		}
		Sleep(1000); //请问加个windows.h头文件不就行了吗?
		system("cls"); //清屏 
	} 
	return 0;
}

简单不????

  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,让我们来实现一个简单的时钟类程序。 首先,我们需要创建一个头文件 `clock.h`,其中包含时钟类的声明: ```c++ #ifndef CLOCK_H #define CLOCK_H class Clock { public: Clock(int hour, int minute, int second); void setTime(int hour, int minute, int second); void tick(); int getHour() const; int getMinute() const; int getSecond() const; private: int m_hour; int m_minute; int m_second; }; #endif ``` 在这个头文件中,我们定义了 `Clock` 类,它有三个私有成员变量 `m_hour`、`m_minute` 和 `m_second`,表示当前时钟的小时、分钟和秒数。公有成员函数包括构造函数 `Clock(int hour, int minute, int second)`、`setTime(int hour, int minute, int second)`,以及用于更新时钟时间的 `tick()` 函数,以及获取时钟时间的函数 `getHour()`、`getMinute()` 和 `getSecond()`。 接下来,我们创建一个名为 `clock.cpp` 的源文件,实现 `Clock` 类的成员函数: ```c++ #include "clock.h" Clock::Clock(int hour, int minute, int second) { setTime(hour, minute, second); } void Clock::setTime(int hour, int minute, int second) { m_hour = hour; m_minute = minute; m_second = second; } void Clock::tick() { m_second++; if (m_second == 60) { m_second = 0; m_minute++; } if (m_minute == 60) { m_minute = 0; m_hour++; } if (m_hour == 24) { m_hour = 0; } } int Clock::getHour() const { return m_hour; } int Clock::getMinute() const { return m_minute; } int Clock::getSecond() const { return m_second; } ``` 这个源文件实现了 `Clock` 类的所有成员函数,其中 `setTime()` 函数用于设置时钟的初始时间,`tick()` 函数用于更新时钟的时间,`getHour()`、`getMinute()` 和 `getSecond()` 函数用于获取时钟的小时、分钟和秒数。 最后,我们创建一个名为 `main.cpp` 的源文件,使用时钟类: ```c++ #include <iostream> #include "clock.h" int main() { Clock clock(12, 0, 0); for (int i = 0; i < 10; i++) { clock.tick(); std::cout << clock.getHour() << ":" << clock.getMinute() << ":" << clock.getSecond() << std::endl; } return 0; } ``` 在这个源文件中,我们创建了一个 `Clock` 对象,设置初始时间为 12:00:00,并且使用 `tick()` 函数更新时钟的时间,并且输出时钟的小时、分钟和秒数。 最后,我们需要将这三个文件编译成可执行文件。我们可以使用以下命令: ``` g++ -c clock.cpp g++ -c main.cpp g++ -o clock clock.o main.o ``` 这个命令将 `clock.cpp` 和 `main.cpp` 编译成 `.o` 文件,并使用这两个 `.o` 文件创建可执行文件 `clock`。我们可以执行这个文件来运行程序: ``` ./clock ``` 输出应该如下: ``` 12:0:1 12:0:2 12:0:3 12:0:4 12:0:5 12:0:6 12:0:7 12:0:8 12:0:9 12:0:10 ``` 这个程序演示了如何使用多文件结构来创建一个简单的时钟类程序
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值