gpt4 book ai didi

c++ - 无法获取 bool 值以返回 false C++

转载 作者:行者123 更新时间:2023-11-30 00:50:57 26 4
gpt4 key购买 nike

我正在为我的 C++ 类(class)制作一个程序,以使用不同的函数(但主要是 bool 值)来验证日期。我的问题是它不会给出 false。我已经尝试使用 else 命令而不是返回 false;没有其他但它似乎没有改变任何东西。这是代码:

int main()
{
char Data[80];
int Month,Day,Year;
int *pMonth,*pDay,*pYear;

pMonth = &Month;
pDay = &Day ;
pYear = &Year ;

cout << "\n\t\tGive me date : ";
cin >> Data;

trial();

PauseScreen(28,20,3);

return 0;

}

void SetCursorPosition(int X, int Y)
{
COORD XY = { Y,X };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),XY);
}

void SetTextColor(int Color)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), Color);
}

void ClearScreen()
{
system("cls");
}

void PauseScreen(int x, int y, int color)
{
SetCursorPosition(x,y);
SetTextColor(color);
system("pause");
}

int InputValues(char *A, int *pM, int *pD, int *pY)
{
char Buffer[10];

Buffer[0] = A[0];
Buffer[1] = A[1];
Buffer[2] = '\0';
*pM = atoi(Buffer);

Buffer[0] = A[3];
Buffer[1] = A[4];
Buffer[2] = '\0';
*pD = atoi(Buffer);

Buffer[0] = A[6];
Buffer[1] = A[7];
Buffer[2] = A[8];
Buffer[3] = A[9];
Buffer[4] = '\0';
*pY = atoi(Buffer);

return strlen(A);
}

bool ValidateMonth(int A)
{
if ( A > 0 && A < 13 )
{
return true;
}

return false;
}

bool ValidateDay(int day,int month)
{
if ( month == 1 || month == 3 || month == 5 || month == 7 || month == 9|| month == 10|| month == 12 && (day > 0 && day < 32) )
{
return true;
}

return false;
}

bool ValidateDayTwo(int day,int month)
{
if ( month == 4 || month == 6 || month == 8 || month == 11 && (day > 0 && day < 31) )
{
return true;
}

return false;
}

void trial()
{
if(ValidateDay && ValidateDayTwo && ValidateMonth)
{
SetCursorPosition(10,10);
cout << "Date is Valid";
}
else
{
SetCursorPosition(10,10);
cout << "You done messed up BALAKI";
}
}

最佳答案

您实际上并没有在 if 语句中调用您的函数。 ValidDayValidDayTwoValidMonth

if(ValidateDay && ValidateDayTwo && ValidateMonth)

相反,您需要通过传入参数来调用该函数

if(ValidateDay(somearg1) && ValidateDayTwo(somearg2) && ValidateMonth(somearg2))

关于c++ - 无法获取 bool 值以返回 false C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com