主题:[讨论]一个关于c++日历程序的代码,,麻烦帮忙修正!
这个程序我自己不知道怎么改正了,老是出现错误,麻烦高手修正啊
#include<iostream>
using namespace std;
class rili{
public:
int year,month;
int date1;
long count;
void countdays()//计算距离元年元月1日多少天
{
int count=0;
int i;
int day_number[12]={31,0,31,30,31,30,31,31,30,31,30,31};
if((year%4==0&&year%100!=0)||(year%400==0))
day_number[1]=29;
else
day_number[1]=28;
for(i=1;i<year;i++)//计算从公元元年到本年元旦的天数
{
if((year%4==0&&year%100!=0)||(year%400==0))
date1=366;
else
date1=365;
count+=date1;
}
for(i=1;i<month;i++)//计算从元月到本月初的天数
count+=day_number[i-1];
cout<<count;
cout<<year<<"年"<<month<<"月"<<endl;
cout<<"SUN MON TUE WED THU FRI SAT "<<endl;
int days[31];
for(i=0;i<day_number[month];i++)
days[i]=i+1;
int weekday=count%7+1;//计算本月1日是周几
for(i=0;i<weekday%7;i++)
{
for(int j=0;j<4;j++)//将1日定位到相应的位置显示
cout<<' ';
}
for(i=0;i<day_number[month-1];i++)
{
if(i<9)
cout<<' ';
cout<<' '<<days[i]<<' ';
if(i%7==6-weekday)//到周六换行输出
cout<<endl;
}
}
};
int main(){
rili d;
cin>>d.year>>d.month;
cout<<d.countdays()<<endl;
return 0;
}
#include<iostream>
using namespace std;
class rili{
public:
int year,month;
int date1;
long count;
void countdays()//计算距离元年元月1日多少天
{
int count=0;
int i;
int day_number[12]={31,0,31,30,31,30,31,31,30,31,30,31};
if((year%4==0&&year%100!=0)||(year%400==0))
day_number[1]=29;
else
day_number[1]=28;
for(i=1;i<year;i++)//计算从公元元年到本年元旦的天数
{
if((year%4==0&&year%100!=0)||(year%400==0))
date1=366;
else
date1=365;
count+=date1;
}
for(i=1;i<month;i++)//计算从元月到本月初的天数
count+=day_number[i-1];
cout<<count;
cout<<year<<"年"<<month<<"月"<<endl;
cout<<"SUN MON TUE WED THU FRI SAT "<<endl;
int days[31];
for(i=0;i<day_number[month];i++)
days[i]=i+1;
int weekday=count%7+1;//计算本月1日是周几
for(i=0;i<weekday%7;i++)
{
for(int j=0;j<4;j++)//将1日定位到相应的位置显示
cout<<' ';
}
for(i=0;i<day_number[month-1];i++)
{
if(i<9)
cout<<' ';
cout<<' '<<days[i]<<' ';
if(i%7==6-weekday)//到周六换行输出
cout<<endl;
}
}
};
int main(){
rili d;
cin>>d.year>>d.month;
cout<<d.countdays()<<endl;
return 0;
}