gpt4 book ai didi

c++ - 存储与任务关联的名称列表

转载 作者:行者123 更新时间:2023-11-30 03:19:19 24 4
gpt4 key购买 nike

所以我已经制作了这个任务系统,或者我正在尝试制作它,这样如果有人完成了超过 7 个任务,下一个人就必须完成 7 个。

double (Bodine、Finn、Tycho)是人。现在我不知道我是否正确使用它,(如果它们需要 double )以及我如何在这行代码中使用它们:

if (taskNumbers == 7)
{
std::cout << "It's " + /*what to do here? */ + "time!";

我想要的是,如果任务数大于 7,并且 Bodine 已经完成了 7 个任务,它会说“Its finn his time!”

#include <iostream>

using namespace std;

double Bodine;
double Finn;
double Tycho;
bool tasksDone = true;
int taskNumbers = 0;

int main()
{
if (taskNumbers > 7)
{
std::cout << "It's " + /*what to do here? */ + "time!";
return 1;
}
}

这是我的第一个项目之一(我 13 岁,所以是的......)。我只需要知道如何使用下一个变量!

最佳答案

好吧,您并没有真正了解轮到谁了。此外,double 不是这里工作的正确工具。我会做这样的事情:

std::vector<std::string> users = { "Bodine", "Finn", "Tycho" };
int currentUser = 0;

现在我们有一个名字列表和一个计数器,上面写着轮到谁了。 0代表第一人称,1代表第二人称,2代表第三人称。然后我们需要推进该计数器的逻辑:

void advanceUser() {
if (++currentUser >= users.size()) {
currentUser = 0;
}
}

这增加了currentUser,当它大于人数时,它循环回到0,所以人们轮流正确。

接下来关于任务逻辑,我建议是这样的:

int tasksDone = 0;
void incrementTasksDone() {
if (++tasksDone >= 7) {
advanceUser();
std::cout << "It's " + users[currentUser] +"'s time!" << std::endl;
tasksDone = 0;
}
}

这里我们有一个跟踪任务数量的计数器,当它达到 7 时,它会将其设置回 0 并宣布它是下一个用户的在调用 advanceUser 设置正确后转向。

然后你可以随心所欲地调用 incrementTasksDone,例如我是这样测试的:

int main()
{
for (int i = 0; i < 100; i++) {
incrementTasksDone();
}
}

例如,这将完成 100 个任务,因此轮流将在此过程中改变 14 次,并且每次都会打印消息。

此外,要运行此示例,请务必添加以下内容:

#include <vector>
#include <string>
#include <iostream>

关于c++ - 存储与任务关联的名称列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53836380/

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