你可以看到我上面的图片,我对逻辑运算符有问题,所以我需要一个循环程序来搜索数据,我的参数可以用game_code或game_title填充,但是在循环序列中存在一些问题。
所以如何解决这个问题,我试过这个但不能正常工作
begin
write(#32'Enter Game Title or Code: '); readln(param);
i:=1;
while((data[i].game_title<>param) or (data[i].game_code<>param)) and (i<totaldata) do
i:=i+1;
if (data[i].game_title=param) or (data[i].game_code=param) then
答案 0 :(得分:0)
你似乎错过了一个括号。试试这个让我知道:
while(((data[i].game_title=param) or (data[i].game_code=param)) and (i<totaldata)) do
begin
i:=i+1;
end;
答案 1 :(得分:-1)
您应该使用and
:
while (i < totaldata) and (data[i].game_title <> param) and (data[i].game_code <> param) do
i:=i+1;
在or
之前,(data[i].game_title <> param) or (data[i].game_code <> param)
表达式true
始终为game_title = game_data = param
。
请注意,必须首先进行i < totaldata
检查,以避免从数组边界访问内存。