两天写了这么一点东西,推翻好几次,重新来,终于写完了,或许还不是很好,但是加油,还有很多地方可以改
输入一个时间,计算从那天起到现在共过了多少天。
#include<iostream>
#include<time.h>
#include<windows.h>
using namespace std;
int main()
{
int input_year, input_month, input_day;
int year, month, day;
int day_num = 0;
cout << "请输入年份:";
cin >> input_year;
cout << "请输入月份:";
cin >> input_month;
cout << "请输入日期:";
cin >> input_day;
cout << "你输入的时间是" << input_year << "年" << input_month << "月" << input_day << "日" << endl;
time_t time1;
int input_year1 = input_year;
int input_month1 = input_month;
int input_day1 = input_day;
time(&time1);
struct tm timein;
localtime_s(&timein, &time1);
cout << "现在时间是" << timein.tm_year+1900 << "年" << timein.tm_mon+1 << "月" << timein.tm_mday << "日" << endl;
do
{
if (input_year % 400 == 0 || (input_year % 100 != 0 && input_year % 4 == 0))
{
switch (input_month)
{
case 1:
day = 31;
break;
case 2:
day = 29;
break;
case 3:
day = 31;
break;
case 4:
day = 30;
break;
case 5:
day = 31;
break;
case 6:
day = 30;
break;
case 7:
day = 31;
break;
case 8:
day = 31;
break;
case 9:
day = 30;
break;
case 10:
day = 31;
break;
case 11:
day = 30;
break;
case 12:
day = 31;
break;
}
}
else
{
switch (input_month)
{
case 1:
day = 31;
break;
case 2:
day = 28;
break;
case 3:
day = 31;
break;
case 4:
day = 30;
break;
case 5:
day = 31;
break;
case 6:
day = 30;
break;
case 7:
day = 31;
break;
case 8:
day = 31;
break;
case 9:
day = 30;
break;
case 10:
day = 31;
break;
case 11:
day = 30;
break;
case 12:
day = 31;
break;
}
}
if (input_day > day)
{
input_month++;
input_day = 1;
if (input_month > 12)
{
input_year++;
input_month = 1;
input_day = 1;
}
else
{
input_day = 1;
}
}
else
{
input_day++;
day_num = day_num + 1;
}
} while (input_year!= timein.tm_year + 1900 || input_month != timein.tm_mon + 1 || input_day != timein.tm_mday);
cout << "从" << input_year1 << "年" << input_month1 << "月" << input_day1 << "日到今天共" << day_num << "天" << endl;
system("pause");
}