• c++学习记录(四)


    c++运用类实践

    1.编写一个可以显示时,分,秒的时钟类,要求实现以下函数:

    ·add增加时间。

    ·set设置时间。

    ·show查看时间。

    ·reset将时间设置为0点0分0秒。

    ·update将时钟增加一秒。

    2.展示实践类代码

    class clock
    {
    public:
    	clock()
    	{
    		cout << "尊敬的用户,输入时间时24时60分60秒统一为0时0分0秒" << endl;
    		hour = 0;
    		min = 0;
    		second = 0;
    	}
    
    	void add(int h, int m, int s)
    	{
    		int Ssum = (h + hour) * 3600 + (m + min) * 60 + s + second;
    		hour = Ssum / 3600;
    		if (hour >= 24) hour = hour - 24;
    		min = (Ssum - hour * 3600) / 60;
    		second = Ssum - hour * 3600 - min * 60;
    		cout << "时间已增加" << endl;
    	}
    
    	void set(int h, int m, int s)
    	{
    		if (h >= 24 || m >= 60 || s >= 60) cout << "输入错误" << endl;
                    if(h<0||m<0||s<0) cout << "输入错误" << endl;
     		hour = h;
    		min = m;
    		second = s;
    		cout << "时间设置完成" << endl;
    	}
    
    	void show()
    	{
    		cout << "现在时间为: "<< hour<<"时"<< min<<"分"<<second <<"秒"<< endl;
    	}
    
    	void reset()
    	{
    		hour = 0;
    		min = 0;
    		second = 0;
    		cout << "时间已清零" << endl;
    	}
    
    	void update()
    	{
    		second += 1;
    		if (second >= 60)
    		{
    			min += 1;
    			second -= 60;
    		}
    		if (min >= 60)
    		{
    			hour += 1;
    			min -= 60;
    		}
    		if (hour >= 24)
    		{
    			hour -= 24;
    		}
    		cout << "时间已增加一秒" << endl;
    	}
    

    3.实践想法说明

    (1)这个类是给客户用的,重要信息时分秒应该设置为私有,用户只能通过公有函数进行操作

    (2)时、分、秒都应为整数

    (3)在对时、分、秒进行增加操作后,判断其是否符合时间规定,进行秒转分、分转时、时化24小时制操作

    (4)在用户相应操作完成后,自动给予信息输出提示,操作已完成

    4.操作函数说明

    (1)clock方法为构造函数,当用户最开始使用类时,初始化时分秒。

    (2)add方法指定用户输入的第一个参数是时,第二个参数是分,第三个参数是秒,通过全部数据化为秒相加后,再化为时分秒。

    (3)set方法指定用户输入数据的范围,对相应的时分秒进行赋值,达成设置时间操作

    (4)show方法将时分秒对应输出

    (5)reset方法对时分秒重新赋值为零

    (6)update方法先进行秒加一操作,在判断相加之后时分秒是否符合时间规则,进行相应的处理

  • 相关阅读:
    重构drf后的环境变量配置
    分离的前后台交互
    虚拟环境的搭建
    Python
    Python
    Python
    Python操作MongoDb数据库
    Python操作SQLite/MySQL/LMDB
    数据库-如何创建SQL Server身份验证用户
    Python
  • 原文地址:https://www.cnblogs.com/trainking-star/p/12259101.html
Copyright © 2020-2023  润新知