回 帖 发 新 帖 刷新版面

主题:[讨论]一个关于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;
    }

回复列表 (共1个回复)

沙发

cout<<d.countdays()<<endl;
这处代码有问题,d.countdays()返回的是void值,编译自然不能通过
可改为
d.countdays();

我来回复

您尚未登录,请登录后再回复。点此登录或注册