请高手帮忙如何改正这些错误!!

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:26:56
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
class Yueli
{
public:
void Isleapyear(int x);
int Dayto050101(int x);
int Getyuets(int x);
int Setday(int x);
int Getday(int x);
int Putoutyueli(int x,int y);
private:
int run;
};

void Yueli::Isleapyear(int year)
{
run=(year%4==0&&year%400!=0)||(year%400==0);
}

int Yueli::Dayto050101(int year)
{
int i=1950,k=0,num;
for(;i<year;i++)
{
if((i%4==0&&i%400!=0)||(i%400==0))
num=366;
else num=365;
k=k+num;
}
return k;
}

int Yueli:: Setday(int x)
{
int k,M;int i=0;
k=x%7;
M=(k+i)%7;
return M;
}

int Yueli::Getyuets(int month)
{
if(month<=7)
{
if(month%2!=0)
return 31;
else
if(month==2)

需要修改的地方我在后面做了注释:
class Yueli
{
public:
void Isleapyear(int x);
int Dayto050101(int x);
int Getyuets(int x);
int Setday(int x);
int Getday(int x);
int Putoutyueli(int x,int y);//改为int Putoutyueli(int x,int y,ofstream &outstuf);
private:
int run;
};

int Yueli::Putoutyueli(int yts,int qsxq)//改为int Yueli::Putoutyueli(int yts, int qsxq, ofstream &outstuf)
{
...

void main()
{
...
for(month=1;month<=12;month++)
{
yts=A.Getyuets(month);
cout<<month<<"月"<<endl;
outstuf<<month<<"月 "<<'\n';
qsxq=A.Putoutyueli(yts,qsxq);//改为 qsxq=A.Putoutyueli(yts,qsxq,outstuf);
}
}

或者可以简单的把ofstream outstuf;提到main()外面放在class定义之前,即:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>

ofstream outstuf;

class Yueli
{
.