你是在excel里做成表格 这样使用哪 还是什么其他的?
看你的叙述 好像是时间相加运算,但是你的题目又有点儿不太对劲儿,能详细说说最好了!
前面与题目都是说分钟,后面怎么又出现了 小时?
重点说明:
你想怎样输入?想得到怎样的结果?
没做完,再等等
#include <iostream>
using namespace std;
class time
{
private:
short int hour;
short int minute;
short int sec;
short int year;
short int month;
short int day;
bool am , pm , _12_24 , AD ;
public:
time()
{
SetYear();
SetMonth();
SetDay();
SetHour();
SetMinute();
SetSec();
cout << "\n\n" ;
_12_24 = true;
}
void SetYear()
{
a:
cout << "请输入年:";
cin >> year;
if (year == 0 )
{
cout << "年份不得为0,请重新输入!" ;
goto a;
}
else if (year > 0 )
{
AD = true;
}
else if (year < 0 )
{
AD = false ;
}
}
void SetMonth()
{
a:
cout << "请输入月:";
cin >> month;
if (month > 12)
{
cout << "输入错误,请重新输入!" << endl;
goto a;
}
}
void SetDay()
{
int i ;
if (year % 4 == 0 )
{
i = 29;
}
else
{
i = 28 ;
}
const int c[] = {31,i,31,30,31,30,31,31,30,31 ,30,31};
for (i = 0 ;i < (month-1) ;i++)
{
;
}
a:
cout << "请输入日:";
cin >> day;
if (day > c[i])
{
cout << "输入错误,请重新输入!" << endl;
goto a;
}
}
void SetHour()
{
a:
cout << "请输入时:";
cin >> hour;
if (hour > 24)
{
cout << "输入错误,请重新输入!" << endl;
goto a;
}
}
void SetMinute()
{
a:
cout << "请输入分:";
cin >> minute;
if (minute > 60)
{
cout << "输入错误,请重新输入!" << endl;
goto a;
}
}
void SetSec()
{
a:
cout << "请输入秒:";
cin >> sec;
if (sec > 60)
{
cout << "输入错误,请重新输入!" << endl;
goto a;
}
}
void display()
{
cout << endl ;
if (year < 0 )
AD = false;
else
AD = true;
if (AD == true)
{
cout << "公元" << year;
}
else if (AD == false)
{
double temp;
temp = (double)year;
temp = abs(temp);
year = (int)temp;
cout << "公元前" << year;
}
cout <<"年" << month << "月" << day << "日" << endl;
if (_12_24 != true)
{
if (am == true)
{
cout << "上午" ;
}
else if (pm == true)
{
cout << "下午" ;
}
}
cout << hour << "时" << minute << "分" << sec << "秒" << endl;
}
void conversion()
{
int flag;
cout <<endl << "\t\t\t1转换为24小时" << endl
<< "\t\t\t2转换为12小时" << endl << "请选择:" ;
cin >> flag;
switch(flag)
{
case 1:
{
if (_12_24 != true )
{
_12_24 = true;
am = pm = false;
hour += 12;
}
else
{
break;
}
}
case 2:
{
if (_12_24 != false)
{
_12_24 = false;
if (hour >= 12 )
{
pm = true;
am = false;
hour -= 12;
break ;
}
if (hour < 12)
{
pm = false;
am = true;
break ;
}
}
else
{
break;
}
}
}
}
bool compare(time a)
{
if (year > aViewYear() )
{
return true;
}
else
{
if (month > aViewMonth() )
{
return true;
}
else
{
if (day > aViewDay() )
{
return true;
}
else
{
if (hour > aViewHour() )
{
return true;
}
else
{
if (minute > aViewMinute())
{
return true;
}
else
{
if (sec > aViewSec())
{
return true;
}
else
{
return false;
}
}
}
}
}
}
}
void operator + (int a )
{
int flag , i;
if (year % 4 == 0 )
{
i = 29;
}
else
{
i = 28 ;
}
const int c[] = {31,i,31,30,31,30,31,31,30,31 ,30,31};
for (i = 0 ;i < (month-1);i++)
{
;
}
cout << "\t\t\t1给年加" << endl << "\t\t\t2给月加" << endl
<< "\t\t\t3给日加" << endl << "\t\t\t4给时加" << endl
<< "\t\t\t5给分加" << endl <<"\t\t\t6给秒加" <<endl
<< "请选择:";
cin >> flag;
switch(flag)
{
case 1:
{
year += a ;
if (AD == false && year >= 0 )
{
AD = true ;
year += 1;
}
break;
}
case 2:
{
month += a;
if (month >= 12 )
{
year += 1 ;
if (AD == false && year >= 0 )
{
year += 1;
AD == true;
}
month = 0 ;
}
break;
}
case 3:
{
int temp;
day += a;
if (day >= c[i])
{
month += 1 ;
day -= c[i];
if (month > 12 )
{
year += 1 ;
if (AD == false && year >= 0 )
{
year += 1;
AD == true;
}
month = 1 ;
}
}
break;
}
case 4:
{
int temp;
hour += a ;
if (hour >= 24)
{
day += 1;
hour = 0;
if (day >= c[i])
{
month += 1 ;
day -= c[i];
if (month > 12 )
{
year += 1 ;
if (AD == false && year >= 0 )
{
year += 1;
AD == true;
}
month = 1 ;
}
}
}
break;
}
case 5:
{
int temp;
minute += a ;
if (minute >= 60)
{
hour += 1 ;
if (hour >= 24)
{
day += 1;
hour = 0;
if (day >= c[i])
{
month += 1 ;
day -= c[i];
if (month > 12 )
{
year += 1 ;
if (AD == false && year >= 0 )
{
year += 1;
AD == true;
}
month = 1 ;
}
}
}
}
break;
}
case 6:
{
int temp;
sec += a;
if (sec >= 60 )
{
minute += 1 ;
sec = 0 ;
if (minute >= 60)
{
hour += 1 ;
if (hour >= 24)
{
day += 1;
hour = 0;
if (day >= c[i])
{
month += 1 ;
day -= c[i];
if (month > 12 )
{
year += 1 ;
if (AD == false && year >= 0 )
{
year += 1;
AD == true;
}
month = 1 ;
}
}
}
}
}
}
break;
}
}
void operator - (int a )
{
int flag;
cout << "\t\t\t1给年减" << endl << "\t\t\t2给月减" << endl
<< "\t\t\t3给日减" << endl << "\t\t\t4给时减" << endl
<< "\t\t\t5给分减" << endl << "\t\t\t6给秒减" <<endl
<<"请选择:";
cin >> flag;
switch(flag)
{
case 1:
{
year -= a;
if (year <= 0 && AD == true)
{
year -= 1;
AD = false ;
}
break;
}
case 2:
{
if (a < month)
month -= a;
else
{
year -= 1 ;
if (year <= 0 && AD == true)
{
year -= 1;
AD = false ;
}
if (a < 12 )
month = 12 - (a - month ) ;
else
cout <<"您输入的数大于或者等于12,请直接用年来减";
}
break;
}
case 3:
{
int i ;
if (year % 4 == 0 )
{
i = 29;
}
else
{
i = 28 ;
}
const int c[] = {31,i,31,30,31,30,31,31,30,31 ,30,31};
for (i = 0 ;i < (month-1) ;i++)
{
;
}
if (day >= c[i])
{
cout << "您输入的数大于或者等于了这一月的天数,请直接用月减";
break;
}
if (a < day)
day -= a;
else
{
month -= 1;
if (month == 0 )
{
month = 12 ;
year -= 1 ;
if (year <= 0 && AD == true )
{
year -= 1;
}
}
day = c[i] - (a - day) - 1 ;
}
break;
}
case 4:
{
if (a <= hour)
hour -= a ;
else
{
}
break;
}
case 5:
{
if (a <= minute)
minute -= a ;
else
{
}
break;
}
case 6:
{
if (a <= sec)
sec -= a;
else
{
}
break;
}
}
}
};
/
2、重载”+”、”-”运算,日期时间加上天数和时间等于新的日期时间,日期时间
减去天数和时间等于新的日期时间;(考虑闰年的情况)
/
Excel中的日期,时间实际上存储的也是数值,只不过是显示的格式不同而已 是从1900年1月1日0时起算的天数,比如2010年12月3日在EXCEL里存储的是40515,也就是1900年1月1日到这个日期的天数,小数部分时间,如405152就是2010年12月3日4时48分00秒
因此,加减乘除等数值运算在日期和时间中同样也可以用
如附图中 A6的公式 =SUM(A1:A4) (A6的格式要设置成自定义中的[h]:mm:ss,否则不会显示超过24小时的时间)
以上就是关于我想用excel编一个程序有关于时间的比如说起始时间是19:50过20分钟变成20:10全部的内容,包括:我想用excel编一个程序有关于时间的比如说起始时间是19:50过20分钟变成20:10、C++时间计算程序、Excel 时间的求和问题。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)