Цель этой программы - взять целое число от 1 до 365 и преобразовать его в месяц и день. Ex. 2 = 2 января, 365 = 31 декабря. Я думал, что все правильно напечатано, я был на правильном пути, но теперь у меня есть 16 ошибок, исходящих из строк 12-14 в моем заголовочном файле, и 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
КЛАСС
#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";
};
};
MAIN
#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;
}
Пожалуйста, включите фактические ошибки, которые вы получаете, но мой хрустальный шар подсказывает мне, что [это] (http://stackoverflow.com/questions/11300652/static-data-member-initialization) - это то, что вам нужно. – SingerOfTheFall
Строки 12-14 написаны неправильно. (Когда вы говорите «у вас есть ошибки», единственный ответ, который вы можете дать вам, - «тогда вы, должно быть, сделали что-то не так».) –
проголосовали за то, чтобы не получить MVCE. – Walter