首页 > 编程语言 >C++

C++

时间:2023-05-16 18:11:07浏览次数:43  
标签:00 hour int C++ 测试用例 Time minute

计算时间相减

定义一个时间类,小时和分钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少分钟。说明:这两个时间在同一天之内,且采用24小时计时分式,即从00:00-23:59。

输入格式: 测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数,用空格间隔,每个数都是由两位数字组成,第一个数和第二个数分别表示起始时间的小时和分钟,第三个数和第四个数分别表示结束时间的小时和分钟。当读入一个测试用例是00 00 00 00时输入结束,相应的结果不要输出。

输出格式:对每个测试用例输出一行。输出一个数即可,表示两者之间间隔的分钟数。

#include<iostream>
using namespace std;

class Time
{
public:
Time(){}
Time(int h,int m)
{
hour=h;
minute=m;
}
friend Time operator - (Time &a,Time &b)
{
Time c;
if(a.minute>b.minute&&a.hour<b.hour)
{
c.minute=(60-a.minute)+b.minute+(b.hour-a.hour-1)*60;
}
if(a.hour==b.hour)
{
c.minute=b.minute-a.minute;
}
if(a.minute<=b.minute)
{
c.minute=b.minute-a.minute+(b.hour-a.hour)*60;
}
return c;
}
void display()
{
cout<<minute<<endl;
}
private:
int hour;
int minute;
};

int main()
{
int x1,y1,x2,y2;
while(cin>>x1>>y1>>x2>>y2)
{
Time a(x1,y1),b(x2,y2),c;
if(x1==00&&y1==00&&x2==00&&y2==00)
{
break;
}
c=a-b;
c.display();
}
return 0;
}

标签:00,hour,int,C++,测试用例,Time,minute
From: https://www.cnblogs.com/zh-ang-zhang/p/17406435.html

相关文章

  • C++:全局变量和static变量初始化
    (一)全局变量全局变量、文件域中的静态变量、类中的成员静态变量在main函数执行前初始化;局部变量中的静态变量在第一次调用时初始化。C++保证,全局变量在main函数第一次使用它之前,就把它初始化好。(可以直接理解成在main函数执行前就初始化好)但这个初始化可细分为:编译时初始化和运......
  • c++输入输出流对象
    实验项目名称:输入输出流一、实验目的掌握文本文件和二进制文件的基本访问方法;了解一般I/O流和文件流的关系;了解文件与文件流的关系;了解文件系统的概念,包括文件指针和关于文件的操作;掌握文件类的定义和相关操作的定义、使用方法;掌握利用常用函数进行文件的打开、关闭、读写......
  • c++打卡练习(31)
    求两个整数的最大公因数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ intx,y,i,k; cout<<"请输入两个整数"<<endl; cin>>x; cin>>y; if(x<y){ intt; t=x; x=y; y=t; } for(i=y;i>=1;i--){ if(x%i==0&&y%i=......
  • c++打卡练习(30)
    不重复的三位数用1234这四个数组成不重复的三位数,每个数位的数也不同,问都有谁流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ inta,b,c,d; for(a=1;a<=4;a++){ for(b=1;b<=4;b++){ for(c=1;c<=4;c++){ if(a!=b&&a!=c&&b!=c){ cout<<a&......
  • C++ | 运算符重载
    1.运算符重载1.1基本概念函数重载(函数多态)是指用户能够定义多个名称相同但参数列表不同的函数,旨在使用户能够用同名的函数来完成相同的基本操作,即使这种操作被用于不同的数据类型。运算符重载将重载的概念扩展到运算符上,允许赋予C++运算符多种含义。实际上,很多C++(也包括C语......
  • 《c++徒步》vs界面详解
    vs2010字符集:多字节字符集和Unicode字符集是不同的字符集标准,主要区别如下:字符编码范围不同:多字节字符集使用单字节或多个字节来表示字符,编码范围较窄,通常只能表示本地语言的字符集。Unicode字符集则是全球通用的字符编码标准,可以同时表示全球范围内的多种语言字符集。字......
  • C++ 图进阶系列之剖析二分图的染色算法和匈牙利算法
    1.前言二分图又称作二部图或称为偶图,是图论中的一种特殊类型,有广泛的应用场景。什么是二分图?二分图一般指无向图。看待问题要有哲学思想,有二分图也可以是有向图。如果图中所有顶点集合能分成两个独立的子集,且任一子集中的任意顶点之间没有边连接,则称这样的图为二分图。......
  • 编写C++时遇到"undefined reference to `std::cout'"
    今天直接将C语言的配置文件粘贴到了C++的工程里面,代码没有报错但是编译报错后面自己试了一下发现用gcc编译c++的话就会报"undefinedreferenceto`std::cout'"的错误解决方法:用g++重新编译......
  • C/C++ CreateFileMapping 共享内存
    原链接C/C++CreateFileMapping共享内存-lyshark-博客园(cnblogs.com)#include<iostream>#include<Windows.h>usingnamespacestd;intmain(){HANDLEhMap;PINTlpMapAddr;//getfilemapping'shandlehMap=OpenF......
  • http yolov5 tensorrt C++ windows 客户端服务器高性能部署,使用tensorrt推理yolov5模
    httpyolov5tensorrtC++windows客户端服务器高性能部署,使用tensorrt推理yolov5模型,封装成了dll;http服务器,监听指定端口、调用dll加载模型到内存(可同时支持多个模型同时加载并行运行)同时监听指定http指定路径是否有请求,收到请求后解析json数据中数据,从中解析出识别指定模型类......