超详细解释时间间隔问题

#include<iostream>//基本函数声明的综合引用(头文件是一堆函数的声明综合文件,没有函数定义,里面只有声明)
using namespace std;//应用std命名空间,限定变量的作用区域(譬如2班和3班都有一个李铁蛋,我在两个班外面叫李铁蛋这个名字
                    //肯定会出问题(同时两个人冒出来了),所以限制一个空间,比如我就在2班里面叫,那么就不会影响到3班的李铁蛋了,std也是同理,相当与班级,限定你这个cin,cout这些符号的作用规则,防止前后命名矛盾,导致程序执行的混乱以至于报错
void compute(int a, int b, int c, int d);//函数先声明,让程序知道有这么个东西,就可以把函数放在主函数后面定义了(相当于是函数定义的第一个语句)
int main()//主函数,程序的入口,所有程序不分高低贵贱男女老少全部在这进来,在这里面调用
{
    int a = 0;//一般数据类型设为int(integer-n.整数(1,2,3,4,5,6,7,8.9,10))
    int b = 0;
    int c = 0;
    int d = 0;//四个用来接受用户输入并且输入函数compute内的变量
    cin >> a >> b >> c >> d;//
    compute(a, b, c, d);//调用函数
    return 0;
}
void compute(int starth, int startm, int endh, int endm)//四个变量分别为启始小时与分钟,结束小时与分钟
{//定义为void是因为1,return不能返回空格2,用cout方便
    int mcource = 0;//初始化为0
    int hcource = 0;
    mcource = (60 - startm) + endm;//分钟单独计算;12.40开始的直接把他当成13点给下面这个计算小时的表达式算,剩下20分钟就放在这里算,后面加上endm也同理,代表最后多出的分钟数,多出60的部分后面会处理
    hcource = endh - (starth + 1);//小时单独计算:前面说到,12,40当成13点算,因此开始的小时数也应该到了13,所以要加上1,进位防止多算60分钟的
    if(mcource < 60)//对分钟数超于60情况进行处理,第一种小于60没问题,
    cout << hcource << "   " << mcource;
    else//第二种呢,C++可能不能用连续括号计算?所以新建了临时变量temp用于存储:当分钟数超过60分钟数后,把他拆分成n个小时加上小于60的分钟数,也就是/60,因为int类型的计算,余数直接抹零了
    {
        int temph;
        temph = mcource / 60;//解释见上一句后部分
        cout << hcource + temph << "   " << mcource - temph * 60;//间隔小时加上分钟数超过60分钟后追加的部分,也就是temph,后面这一块
    }
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值