Surprise Surprise I am having problems once again. Any help is apreciated. Here is my full code so far. The code compiles but then here is what I get when i do a.out (The s and the 1600 are hte user inputted values, it doesnt matter what number i put in instead of 166 is long as it is between 1582 and 4000 I still get the same output "1 is a leapyear."):

Enter in the letter s to find out if a specific year is a leap year,
Enter in the letter r to find the number of days between 2 years,
Enter in the letter q to quit the program: s
1Input a year between 1582 and 4000: 1600
1 is a leap year.




//Tell if a certain year is a leap year or the number of days between 2 years.

#include <iostream>
#include <cmath>

int main()
{
int doYearRange();
int doSpecificYear();
char getChoice;
while (getChoice !='s' && getChoice !='r' && getChoice !='q')
{
std::cout <<"Enter in the letter s to find out if a specific year is a leap year,"<<endl;
std::cout<<"Enter in the letter r to find the number of days between 2 years,"<<endl;
std::cout<<"Enter in the letter q to quit the program: ";
std::cin >>getChoice;
}

if (getChoice =='s') doSpecificYear();
else
std::cout<<"You have chosen to quit the program."<<endl;
return 0;
}

int getYear()
{
int getYear;
while (getYear <= 1582 || getYear >= 4000)
{
std::cout<<"Input a year between 1582 and 4000: ";
std::cin>>getYear;
}
}

bool isLeapYear(int)
{
bool LeapYear;
if (getYear() % 400 == 0) LeapYear=true;
else if ( getYear() % 4 != 0 || getYear() % 100 == 0) LeapYear=false;
else LeapYear=true;
}

void doSpecificYear()
{
bool LeapYear;
std::cout<<getYear;
if (isLeapYear(LeapYear) == LeapYear == true)
std::cout<<getYear<<" is a leap year."<<endl;
else
std::cout<<getYear<<" is not a leap year."<<endl;
}