编译环境codeblocks
内容涉及C语言结构体
#include<stdio.h>
int a=0,b=0;
struct time
{
int Hour,minute,second;
}Now,Charage,Result;
void GetTime()
{
printf("请输入当前时间\n");
printf("时 分 秒\n");
scanf("%d%d%d",&Now.Hour,&Now.minute,&Now.second);
printf("请输入要加减时间\n");
printf("时 分 秒\n");
scanf("%d%d%d",&Charage.Hour,&Charage.minute,&Charage.second);
}
void minus()
{
Result.second=Now.second-Charage.second;
if(Result.second<0)
{
Result.second+=100;
Result.minute-=1;
}
Result.minute=Now.minute-Charage.minute;
if(Result.minute<0)
{
Result.minute+=60;
Result.Hour-=1;
}
Result.Hour=Now.Hour-Charage.Hour;
}
void add()
{
Result.second=Now.second+Charage.second;
if(Result.second>100)
{
Result.second-=100;
Result.minute+=1;
}
Result.minute=Now.minute+Charage.minute;
if(Result.minute>60)
{
Result.minute-=60;
Result.Hour+=1;
}
Result.Hour=Now.Hour+Charage.Hour;
if(Result.minute>60)
{
Result.minute-=60;
Result.Hour+=1;
}
}
void Judge()
{
if(Result.Hour<0)
{
Result.Hour+=24;
a+=1;
if(Result.Hour<0)
Judge();
}
if(Result.Hour>24)
{
Result.Hour-=24;
b+=1;
if(Result.Hour>24)
Judge();
}
}
void PutTime()
{
printf("最终时间为:");
if(a==0&&b==0)
printf("今天");
if(a>0)
printf("前%d天",a);
if(b>0)
printf("后%d天",a);
printf("%d时%d分%d秒",Result.Hour,Result.minute,Result.second);
}
int main()
{
int c;
GetTime();
printf("请判断加减(0为减,1为加)\n");
scanf("%d",&c);
if(c==0)
minus();
if(c==1)
add();
PutTime();
return 0;
}