0
这个程序的目标是从1 - 365的整数,并将其转换为一个月和一天。防爆。 2 = 1月2日,365 = 12月31日。我以为我得到了一切正确的输入,我在正确的轨道上,但现在我有我的头文件中12-14行错误来自16错误,并从我的类文件来的1错误。如何解决我的C++头文件中的很多错误?
我不确定它是否真的是标题,或者如果我弄乱了别的地方。
头文件
#ifndef DAYOFYEAR_H
#define DAYOFYEAR_H
class DayOfYear
{
private:
int day;
public:
DayOfYear();
static int daysAtEndOfMonth[];
static string monthName[];
void print();
void setDay(int day) { this->day = day; };
};
#endif
CLASS
#include "DayOfYear.h"
#include <iostream>
#include <string>
using namespace std;
DayOfYear::DayOfYear() {
}
int DayOfYear::daysAtEndOfMonth[] = {
31, 59, 90,
120, 151, 181,
212, 243, 273,
304, 334, 365
};
string DayOfYear::monthName[] = { "January", "February",
"March", "April",
"May", "June"
"July", "August",
"September", "October",
"November", "December"
};
void DayOfYear::print() {
int month = 0;
while (daysAtEndOfMonth[month] < day)
month = (month + 1) % 12;
if (month == 0) {
cout << "\nJanuary" << day << endl << endl;
}
else
{
cout << endl << monthName[month] << " " << day - daysAtEndOfMonth[month - 1]
<< "\n\n";
};
};
主要
#include <iostream>
#include <string>
#include "DayOfYear.h"
using namespace std;
int main() {
int day;
DayOfYear DayOfYearObj;
cout << "This program will convert an integer between 1 and 365 to a Month/Day format"
<< endl << endl;
cout << "Please enter an integer from 1 to 365:";
cin >> day;
//set day
DayOfYearObj.setDay(day);
//display
DayOfYearObj.print();
return 0;
}
请包括你所得到的实际错误,但我的水晶球告诉我,[this](http://stackoverflow.com/questions/11300652/static-data-member-initialization)就是你需要的。 – SingerOfTheFall
第12-14行写入不正确。 (当你说“你有错误”时,你可能会给你的唯一答案是“那么你肯定做错了什么”)。 –
因未能提供MVCE而投票结束。 – Walter