关于Visual studio中用C++语言编写程序的一个问题。说要输入几几年几...
发布网友
发布时间:2024-10-02 16:29
我来回答
共1个回答
热心网友
时间:2024-10-19 05:33
方法有两种:一种是自己写,一种是系统计算。
方法一:(自己写,附思路)
1、设定一个对比日期,例如设2016/10/24是周一。
2、建立保存月份的数组
3、计算设定日期到输入日期总共经历多少天
4、(天数+bias)%7==输入日期的周,bias就是偏移值,碰巧设定日期是周一,所以bias为零
方法二:(附代码,VS2012_debug通过)
#include<iostream>
#include<atltime.h>
using namespace std;
int main()
{
int year;
int month;
int day;
cout << "Input year,month,day" << endl;
cin >> year >> month >> day;
CTime t(day,month-1,year);
switch(t.GetDayOfWeek())
{
case 1:cout << "周日" << endl;
break;
case 2:cout << "周一" << endl;
break;
case 3:cout << "周二" << endl;
break;
case 4:cout << "周三" << endl;
break;
case 5:cout << "周四" << endl;
break;
case 6:cout << "周五" << endl;
break;
case 7:cout << "周六" << endl;
break;
}
return 0;
}
显示当月日历:(思路)
1、设上面方法二的month为当前月,year为当前年。
2、建立一个保存月份日数的int数组。int a={31,28,31,30..............};
3、建立一个函数计算是否为润年
bool leapYear(int year)
{
if(year % 4 == 0 && year%100!=0 || year % 400 ==0)
return true;
else
return false;
}
4、if(year)a[1]+=1;
5、通过for循环输出日子
for(int i=0;i!=a[month-1];i++)
{
if(i%7==0)
cout << endl;
cout << i << " ";
}
热心网友
时间:2024-10-19 05:27
方法有两种:一种是自己写,一种是系统计算。
方法一:(自己写,附思路)
1、设定一个对比日期,例如设2016/10/24是周一。
2、建立保存月份的数组
3、计算设定日期到输入日期总共经历多少天
4、(天数+bias)%7==输入日期的周,bias就是偏移值,碰巧设定日期是周一,所以bias为零
方法二:(附代码,VS2012_debug通过)
#include<iostream>
#include<atltime.h>
using namespace std;
int main()
{
int year;
int month;
int day;
cout << "Input year,month,day" << endl;
cin >> year >> month >> day;
CTime t(day,month-1,year);
switch(t.GetDayOfWeek())
{
case 1:cout << "周日" << endl;
break;
case 2:cout << "周一" << endl;
break;
case 3:cout << "周二" << endl;
break;
case 4:cout << "周三" << endl;
break;
case 5:cout << "周四" << endl;
break;
case 6:cout << "周五" << endl;
break;
case 7:cout << "周六" << endl;
break;
}
return 0;
}
显示当月日历:(思路)
1、设上面方法二的month为当前月,year为当前年。
2、建立一个保存月份日数的int数组。int a={31,28,31,30..............};
3、建立一个函数计算是否为润年
bool leapYear(int year)
{
if(year % 4 == 0 && year%100!=0 || year % 400 ==0)
return true;
else
return false;
}
4、if(year)a[1]+=1;
5、通过for循环输出日子
for(int i=0;i!=a[month-1];i++)
{
if(i%7==0)
cout << endl;
cout << i << " ";
}