Hey I'm trying to compile my program, but I cannot figure out this compile error, I've spent almost 2 hours now trying to figure it out.
Heres the code :
Code:
# include <iostream>
using namespace std;
void getDate ();
void printDate (int, int, int );
int dayNumber (int, int, int);
bool validDate (int, int, int);
bool isLeapYear (int);
void main ()
{
cout << "This program will ask for a date and then return it in a different format" << endl;
getDate ();
return ;
}
void getDate ()
{
bool valid;
int month;
int day;
int year;
char slash1;
char slash2;
cout << "Please enter the date in the form of mm/dd/yyyy: "<< endl;
cin >> month >> slash1 >> day >> slash2 >> year;
valid = validDate( month, day, year);
if (valid == false)
{
cout << " Date is invalid, please enter a year 1 - 3000 only, with a correct month and day in the form of mm/dd/yyyy: " << endl;
cin >> month >> slash1 >> day >> slash2 >> year;
}
printDate( month, day, year);
}
void printDate( int printMonth, int printDay, int printYear)
{
int daynum;
switch (printMonth)
{
case 1:
cout << printDay << "-January-" << printYear << endl;
break;
case 2:
cout << printDay << "-February-" << printYear << endl;
break;
case 3:
cout << printDay << "-March-" << printYear << endl;
break;
case 4:
cout << printDay << "-April-" << printYear << endl;
break;
case 5:
cout << printDay << "-May-" << printYear << endl;
break;
case 6:
cout << printDay << "-June-" << printYear << endl;
break;
case 7:
cout << printDay << "-July-" << printYear << endl;
break;
case 8:
cout << printDay << "-August-" << printYear << endl;
break;
case 9:
cout << printDay << "-September-" << printYear << endl;
break;
case 10:
cout << printDay << "-October-" << printYear << endl;
break;
case 11:
cout << printDay << "-November-" << printYear << endl;
break;
case 12:
cout << printDay << "-December-" << printYear << endl;
break;
}
daynum = dayNumber( printMonth, printDay, printYear);
cout <<" is day number " << daynum << " in " << printYear << endl;
}
int dayNumber ( int month, int day, int year )
{
int dayNum2;
int leapDay;
leapDay = 31;
bool leapYear;
leapYear = isLeapYear(int year);
if ( leapYear == true)
leapDay = 32;
switch (month)
{
case 1:
dayNum2 = day;
break;
case 2:
dayNum2 = leapDay + day;
break;
case 3:
dayNum2 = 59 + day;
break;
case 4:
dayNum2 = 90 + day;
break;
case 5:
dayNum2 = 120 + day;
break;
case 6:
dayNum2 = 151 + day;
break;
case 7:
dayNum2 = 181 + day;
break;
case 8:
dayNum2 = 212 + day;
break;
case 9:
dayNum2 = 243 + day;
break;
case 10:
dayNum2 = 273 + day;
break;
case 11:
dayNum2 = 304 + day;
break;
case 12:
dayNum2 = 334 + day;
break;
}
return dayNum2;
}
bool validDate (int day, int month, int year)
{
int leapDay;
leapDay = 28;
bool leapYear;
leapYear = isLeapYear( int year );
if (leapYear == true)
leapDay = 29;
if ( year >= 1 & year <= 3000)
{
if (month >=1 & month <= 12)
{
if (month == 2)
{
if (day >= 1 & day <= leapDay)
return true;
else
return false;
}
else if ( month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
if ( day >= 1 & day <= 31)
return true;
else
return false;
}
else
{
if ( day >= 1 & day <= 30 )
return true;
else
return false;
}
}
else
return false;
}
else
return false;
}
bool isLeapYear(int year)
{
if ( year % 100 == 0)
{
if ( year % 400 == 0)
return true;
else
return false;
}
else if ( year % 4 == 0 )
return true;
else
return false;
}
And heres the error I get-
syntax error : 'int' should be preceded by ')'
error C2660: 'isLeapYear' : function does not take 0 arguments
error C2059: syntax error : ')'
error C2144: syntax error : 'int' should be preceded by ')'
error C2660: 'isLeapYear' : function does not take 0 arguments
error C2059: syntax error : ')'
I encounter the "function does not take 0 arguments" error before, but it was with void functions, I dont understand why its happening with a bool function.
Any help would be appreciated and thanks in advance.