zoukankan      html  css  js  c++  java
  • 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方法先进行秒加一操作,在判断相加之后时分秒是否符合时间规则,进行相应的处理

  • 相关阅读:
    Spring/Spring-Boot 学习 连接redis数据库
    Spring/Spring-Boot 学习 答疑
    Spring/Spring-Boot 学习 paoding-rose-jade 连接MySQL数据库
    Spring/Spring-Boot 学习 Bean注入的方式
    Spring/Spring-Boot 学习 @Autowired 与 @Resource
    博客园主题与代码高亮
    从不懂spring的开始的学习之旅
    nginx 缓存服务器配置
    jenkins + sonar代码质量自动化分析平台
    Linux下如何查看哪些进程占用的CPU内存资源最多
  • 原文地址:https://www.cnblogs.com/trainking-star/p/12259101.html
Copyright © 2011-2022 走看看