在struct中匹配和搜索并标记true或false C

在struct中匹配和搜索并标记true或false C,c,search,struct,match,C,Search,Struct,Match,我正在构建一个由2台服务器和1台客户端组成的预订系统。 我发现了一个障碍,现在我来解释: -服务器A -服务器B -客户 一旦客户从菜单中选择要预订的内容和时间, 服务器B必须在结构中查找日期,并检查该日期是否可用,如果是发送确定,如果不是,则发送否作为答案。 为了做到这一点,我曾想过以下方法,但它不起作用: bool search(int bet2, bool flag) { int i=0; for(i=0; i < 11; i++){

我正在构建一个由2台服务器和1台客户端组成的预订系统。 我发现了一个障碍,现在我来解释:
-服务器A
-服务器B
-客户

一旦客户从菜单中选择要预订的内容和时间, 服务器B必须在结构中查找日期,并检查该日期是否可用,如果是发送确定,如果不是,则发送否作为答案。
为了做到这一点,我曾想过以下方法,但它不起作用:

bool search(int bet2,  bool flag)
    {
     int i=0;

      for(i=0; i < 11; i++){
        if(strcmp(content[i].date, content[bet2].date) == 0)
        {
           if (content[i].mark == true)
           {
               printf("Date Busy");
               return false;
           } else {
               content[i].mark = true;  
               printf("Date booked day: %s",content[i].date);   
               return true;
            }}
      }
    }
大体上,我声明:

bool search (int bet2, bool flag);
search (bet2, flag);
结构是这样的:

typedef struct choice {
    char name [40];
    char date [40];
    bool mark;
} Choice;

Choice content [10];
现在我有一个疑问,但是类型bool存在于C中

不管怎样,我错在哪里

抱歉,今天早上我正在写代码,我被困在这里了,可能我没看到

这个代码返回的日期是好的,我哪里错了

content [i] .mark = true
将是

content [i] .mark == true
为了避免这种问题,你可以这样比较

true == content [i] .mark
在这种情况下,即使您忘记了
=
并使用
=
,编译器也会抱怨

是的,更好的是使用简单易读的语言

  if( content [i] .mark )
在C中也没有名为
Else
的关键字。它将是
Else

在您编写的代码中删除额外的
}
。范围改变了,这是错误的


还有,为什么要使用
returnflag=false
在这里没有用。只需执行
返回false
返回true
。因为
标志
的更改值不会在任何地方使用。

这不是您编译的代码,甚至不是它的一部分。至少
Else
会让编译器抱怨。请把这变成一个MCVE。对不起,伙计们,但因为我复制粘贴了它,所以,这不是我的错,我没有注意到,我直接发布了,在作者编辑了文章之后yunnosch@Rock.:Yunnosch编辑问题做得很好,在此之前我编辑了它-除了你之外,没有人添加额外的
}
。不要这样责备。@Rock:你编辑了问题-现在你已经修改了你的问题,看我的答案。。回答后不要像这样编辑问题!这已成为一个“动目标问题”。这是阻止潜在回答者的一种非常可靠的方法。我对你有感觉@coderredoc.
true==content
,又名Yoda conditions(万一OP想查一下)。@CookiePLMonster.:你是什么意思?我的回答只是提到了在读取
==
时,使用
=
时出错的地方。我明白了。。我已经提到了-如果我遗漏了什么,请告诉我该修复是correct@Rock如果“这个修正是正确的”,你的意思是答案帮助了你,那么你可能会喜欢读这个:是的,但它不是我问题的解决方案