我试图使用布尔表达式创建一个在24小时制和12小时制之间切换的功能

时间:2016-11-05 21:08:57

标签: c++ function boolean swap

在我正在创建的程序中,我需要能够从主菜单切换选项,从24小时时钟切换到12小时时钟,反之亦然。我知道我需要交换bool值才能创建一个切换,但我不知道该怎么做。以下是以下功能:

void printTime(int h, int m, bool mode)
{
if (mode = 0)
{
    mode = 1;
    cout << "24-hour mode turned on" << endl;
}
else
{
    mode = 0;
    cout << "12-hour mode turned on" << endl;
}
}

1 个答案:

答案 0 :(得分:0)

为了能够更改功能范围之外的任何变量,您应该传递参考。

void printTime(int h, int m, bool& mode)
{
    mode = !mode; //Toggle mode
    std::cout << (mode ? "24" : "12") << "-hour mode turned on" << std::endl;
}

然后它可以改变不同范围内的值;

int main()
{
    bool mode24 = true;
    printTime(2, 4, mode24); //changes mode24 to false
    printTime(2, 4, mode24); //changes mode24 back to true

    return 0;
}