IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 敲代码的第三天:创建时间类实现功能(c++) -> 正文阅读

[C++知识库]敲代码的第三天:创建时间类实现功能(c++)

题目要求:再加两个功能:正数计时和倒数计时

?

#include<iostream>

#include<windows.h>

using namespace std;

class Time {

public:

int hour;

int minute;

int sec;

Time() {

int hour=0;

minute = 0;

sec = 0;

}

Time(int h,int m, int s):hour(h),minute(m), sec(s)

{}

Time& operator++();

Time& operator--();

friend Time& operator+=(Time& a, Time& b);

friend Time& operator-=(Time& a, Time& b);

void Print();

};

Time& Time::operator++() {

sec++;

if (sec >= 60) {

sec -= 60;

minute++;

if(minute>=60){

minute-=60;

hour++;

}

}

return *this;

}

Time& Time::operator--() {?

sec--;

if (sec < 0) {

sec += 60;

minute--;

if(minute<0){

minute+=60;

hour--;

}

}

return *this;

}

Time& operator+=(Time& a, Time& b) {

int hour;

int minute;

int sec;

if (a.sec + b.sec >= 60) {

a.sec += b.sec;

a.sec -= 60;

a.minute++;

}

else {

a.sec += b.sec;

}

if (a.minute + b.minute >= 60) {

a.minute += b.minute;

a.minute -= 60;

hour++;

}

else {

a.minute += b.minute;

}

a.hour+=b.hour;

return a;

}

Time& operator-=(Time& a, Time& b) {

int hour;

int minute;

int sec;

int t1, t2, t;

t1 = a.hour*60*60+ a.minute * 60 + a.sec;

t2 = b.hour*60*60+b.minute * 60 + b.sec;

if (t1 >= t2) {

t = t1 - t2;

}

else {

t = t2 - t1;

}

a.hour = t/3600;

a.minute = t%/60;

a.sec = t % 60;这里有问题,研究清楚后改正

return a;

}

void Time::Print() {

cout << "当前时间是:";

cout <<hour<<"时"<< minute << "分" << sec << "秒" << endl;

}

int main() {

Time time1, time2, time3;

int a;

cout << "请输入小时:"<< endl;

cin ?>>time1.hour;

cout << "请输入分钟:" << endl;

cin >> time1.minute;

cout << "请输入秒钟:" << endl;

cin >> time1.sec;

cout << "当前时间是:" << time1.hour<<"时:"<<time1.minute << "分:" << time1.sec << "秒" << endl;

cout << "--------------------------------" << endl;

cout << "请输入操作" << endl << "1.整数计时" << endl << "2.倒数计时" << endl << "3.时间相加" << endl << "4.时间相减" << endl;

cout << "--------------------------------" << endl;

while (scanf("%d", &a) != EOF) {

switch (a) {

case 1:

for (int i = 0; i < 8; i++) {

++time1;

Sleep(1000);

time1.Print();

}

break;

case 2:

for (int i = 0; i < 8; i++) {

--time1;

Sleep(1000);

time1.Print();

}

break;

case 3:

cout << "请输入需要相加的时间(时钟)" << endl;

cin >> time2.hour;

cout << "请输入需要相加的时间(分钟)" << endl;

cin >> time2.minute;

cout << "请输入需要相加的时间(秒钟)" << endl;

cin >> time2.sec;

time1 += time2;

time1.Print();

break;

case 4:

cout << "请输入需要相减的时间(时钟)" << endl;

cin >> time3.hour;

cout << "请输入需要相减的时间(分钟)" << endl;

cin >> time3.minute;

cout << "请输入需要相减的时间(秒钟)" << endl;

cin >> time3.sec;

time1 -= time3;

time1.Print();

break;

}

}

return 0;

}

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:15:22  更:2021-10-12 23:15:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:10:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码