C++:计算时间——时分秒

关于时间——时分秒的换算问题。
我们表示时间的方法是从 0:0:0 开始经过了多少秒,用这样一个数表示时间。
假设现在是 hⓂ️s ,那么我们知道一小时有 3600 秒,那么 h 小时就是 h×3600 秒,一分钟有60 秒,所以 m 分钟就是m×60 秒,再加上最后的 s 秒,所以它就是从 0:0:0经过了h×3600+m×60+s 秒得到的时间。

1、计算已经过了多少秒?
输入时h,分m,秒s;得出多少秒?

#include <iostream>
using namespace std;
int main() {
    int h,m,s;
    cin >>h>>m>>s;
    cout<<h*3600+m*60+s<<endl;
    return 0;
}

在这里插入图片描述
2、那把秒转为时分秒格式呢?
反过来,h = s/3600; m = s/60%60; s = s%60;

#include <iostream>
using namespace std;
int main() {
    int s1,h,m,s2;
    cout<<"输入多少秒:"; 
    cin >> s1;
    h = s1/3600;
    m = s1 /60 % 60;
    s2 = s1 % 60;
    cout<<h<<"小时:"<<m << "分钟:"<<s2<<"秒";
    return 0;
}

在这里插入图片描述
3、从 15:10:20 经历过 3710秒,问现在是什么时间?
把秒化为时分秒格式进行相加。

#include <iostream>
using namespace std;
int main() {
    int h,m,s1,s;
    cout<<"输入现在时间:";
    cin >>h>>m>>s;  
    cout<<"经历了多少秒:"; 
    cin >> s1;
    s = s + s1; //得出现在多少秒 
    m = m + s/60%60; //得出总共有多少分钟 
    h = h + m/60 + s/3600; //得出现在是几时 
    s = s % 60; //符合60秒 
    m = m % 60; //符合60分组 
    h = h % 24; //符合24小时 
    cout<<h<<"小时:"<<m << "分钟:"<<s<<"秒";
    return 0;
}

在这里插入图片描述
4、从 21:30:30 下班,坐车回家用了1小时40分钟50秒 ,问到校是什么时间?

#include <iostream>
using namespace std;
int main() {
    int h,h1,m,m1,s1,s;
    cout<<"下班时间:";
    cin >>h>>m>>s;  
    cout<<"坐车回校时间:"; 
    cin >>h1>>m1>>s1;
    s += s1; //得总秒 
    m += m1; //得总分钟 
	h += h1; //得总小时 
    m = m + s/60%60; //得出总共有多少分钟 
    h = h + m/60 ; //得出现在是几时 
    s = s % 60; //符合60秒 
    m = m % 60; //符合60分组 
    h = h % 24; //符合24小时 
    cout<<"到校时间:"<<h<<"小时:"<<m << "分钟:"<<s<<"秒";
    return 0;
}

在这里插入图片描述
这一章学会了 计算时间,时分秒的换算问题。

(1) 测试日期类成员函数,在主函数中列出菜单选项,可以完成日期的加减比较等测试功能。 (2) 完善程序功能,在日期相加的菜单选项中增加日期加天数,结果为新日期;日期家月份,结果为新日期,要考虑闰年情况。 (3) 完善程序功能,在日期相减的菜单选项中增加日期减天数,结果为新日期;日期减月份,结果为新日期,要考虑闰年情况。 (4) 显示日期时增加显示星期及英文形式的月份的功能。 (5) 增加输入的甄别功能,即输入非法数据(如负数、日期超过31天、时间超过24小时等情况)的识别显示功能。 (1) 仿照日期类编写时间类CTime_t,可以完成时间的设置、运算、比较等功能。 (2) 增加时间的输入功能,既可以选择输入格式,可以输入hh:mm:ss格式的信息。 (3) 增加时间的输出格式,可以输出12小时的时间格式。 (4) 编写时间和日期的派生类CDati,完成日期与时间的联合设置、运算、比较等功能,要求该派生类可以完成:日期时间加天数或时间等于新的日期时间,日期时间减天数或等于新的日期时间,两个日期时间相减等于天数或时间等工作,在程序中考虑闰年等具体情况,并重载各种运算符。 (5) 增加输入的甄别功能,即输入非法数据,即输入非法数据(如负数、日期超过31天、时间超过24小时等情况)的识别显示功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐樽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值