亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用C++實現時間的 加減運算 .

用C++實現時間的 加減運算 .

C++
烙印99 2019-05-16 10:09:51
用C++實現時間的 加減運算 .
查看完整描述

2 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

#include <iostream>
using namespace std;

struct Time
{
int hour;
int minute;
int second;
};

bool AddTime(Time&desTime, const Time &scrTime);
bool SubtractTime(Time &desTime, const Time &scrTime);

int main()
{
Time t1;
Time t2;
t1.hour = 23;
t1.minute = 40;
t1.second = 50;

t2.hour = 10;
t2.minute = 30;
t2.second = 59;

if ( !AddTime( t1, t2 ) )
{
cout<< "小時: " << t1.hour <<endl
<< "分鐘: " << t1.minute <<endl
<< "秒: " << t1.second <<endl;
}
else
{
cout<< "你的輸入的時間非法." <<endl;
}

t1.hour = 23;
t1.minute = 40;
t1.second = 50;

cout<< endl;
if ( !SubtractTime( t1, t2 ) )
{
cout<< "小時: " << t1.hour <<endl
<< "分鐘: " << t1.minute <<endl
<< "秒: " << t1.second <<endl;
}
else
{
cout<< "你的輸入的時間非法." <<endl;
}
return 0;
}

bool AddTime(Time &desTime, const Time &scrTime)
{
if( desTime.hour >= 0 && desTime.hour <= 23 &&
desTime.minute >= 0 && desTime.minute <= 59 &&
desTime.second >= 0 && desTime.second <= 59 &&
scrTime.hour >= 0 && scrTime.hour <= 23 &&
scrTime.minute >= 0 && scrTime.minute <= 59 &&
scrTime.second >= 0 && scrTime.second <= 59 )
{
desTime.second += scrTime.second ;
int n = 0;
if( desTime.second >= 60 )
{
n = 1;
desTime.second -= 60;
}
desTime.minute += scrTime.minute + n;

n = 0;
if( desTime.minute >= 60 )
{
n = 1;
desTime.minute -= 60;
}

desTime.hour += scrTime.hour + n;
if( desTime.hour >= 24 )
{
desTime.hour -= 24;
}

return 0;
}
return 1;
}

bool SubtractTime(Time &desTime, const Time &scrTime)
{
if( desTime.hour >= 0 && desTime.hour <= 23 &&
desTime.minute >= 0 && desTime.minute <= 59 &&
desTime.second >= 0 && desTime.second <= 59 &&
scrTime.hour >= 0 && scrTime.hour <= 23 &&
scrTime.minute >= 0 && scrTime.minute <= 59 &&
scrTime.second >= 0 && scrTime.second <= 59 )
{
int n = 0;
if( desTime.second < scrTime.second )
{
n = 1;
desTime.second += 60;
}
desTime.second -= scrTime.second ;
desTime.minute -= n;

n = 0;
if( desTime.minute < scrTime.minute )
{
n = 1;
desTime.minute += 60;
}
desTime.minute -= scrTime.minute;
desTime.hour -= n;

if( desTime.hour < scrTime.hour )
{
return 1;
}
desTime.hour -= scrTime.hour;
return 0;
}
return 1;
}





查看完整回答
反對 回復 2019-05-17
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

#include <iostream>
using namespace std;

struct Time
{
int hour;
int minute;
int second;
};

bool AddTime(Time&desTime, const Time &scrTime);
bool SubtractTime(Time &desTime, const Time &scrTime);

int main()
{
Time t1;
Time t2;
t1.hour = 23;
t1.minute = 40;
t1.second = 50;

t2.hour = 10;
t2.minute = 30;
t2.second = 59;

if ( !AddTime( t1, t2 ) )
{
cout<< "小時: " << t1.hour <<endl
<< "分鐘: " << t1.minute <<endl
<< "秒: " << t1.second <<endl;
}
else
{
cout<< "你的輸入的時間非法." <<endl;
}

t1.hour = 23;
t1.minute = 40;
t1.second = 50;

cout<< endl;
if ( !SubtractTime( t1, t2 ) )
{
cout<< "小時: " << t1.hour <<endl
<< "分鐘: " << t1.minute <<endl
<< "秒: " << t1.second <<endl;
}
else
{
cout<< "你的輸入的時間非法." <<endl;
}
return 0;
}

bool AddTime(Time &desTime, const Time &scrTime)
{
if( desTime.hour >= 0 && desTime.hour <= 23 &&
desTime.minute >= 0 && desTime.minute <= 59 &&
desTime.second >= 0 && desTime.second <= 59 &&
scrTime.hour >= 0 && scrTime.hour <= 23 &&
scrTime.minute >= 0 && scrTime.minute <= 59 &&
scrTime.second >= 0 && scrTime.second <= 59 )
{
desTime.second += scrTime.second ;
int n = 0;
if( desTime.second >= 60 )
{
n = 1;
desTime.second -= 60;
}
desTime.minute += scrTime.minute + n;

n = 0;
if( desTime.minute >= 60 )
{
n = 1;
desTime.minute -= 60;
}

desTime.hour += scrTime.hour + n;
if( desTime.hour >= 24 )
{
desTime.hour -= 24;
}

return 0;
}
return 1;
}

bool SubtractTime(Time &desTime, const Time &scrTime)
{
if( desTime.hour >= 0 && desTime.hour <= 23 &&
desTime.minute >= 0 && desTime.minute <= 59 &&
desTime.second >= 0 && desTime.second <= 59 &&
scrTime.hour >= 0 && scrTime.hour <= 23 &&
scrTime.minute >= 0 && scrTime.minute <= 59 &&
scrTime.second >= 0 && scrTime.second <= 59 )
{
int n = 0;
if( desTime.second < scrTime.second )
{
n = 1;
desTime.second += 60;
}
desTime.second -= scrTime.second ;
desTime.minute -= n;

n = 0;
if( desTime.minute < scrTime.minute )
{
n = 1;
desTime.minute += 60;
}
desTime.minute -= scrTime.minute;
desTime.hour -= n;

if( desTime.hour < scrTime.hour )
{
return 1;
}
desTime.hour -= scrTime.hour;
return 0;
}
return 1;
}

 




查看完整回答
反對 回復 2019-05-17
  • 2 回答
  • 0 關注
  • 800 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號