Loops 在WHILE语句中阻塞逻辑运算符
如上图所示,我的逻辑运算符有问题,因此我需要一个循环程序来搜索数据,我的参数可以用game_代码或game_标题填充,但循环序列中存在一些问题 所以如何解决这个问题,我试过了,但没有成功Loops 在WHILE语句中阻塞逻辑运算符,loops,while-loop,pascal,logical-operators,Loops,While Loop,Pascal,Logical Operators,如上图所示,我的逻辑运算符有问题,因此我需要一个循环程序来搜索数据,我的参数可以用game_代码或game_标题填充,但循环序列中存在一些问题 所以如何解决这个问题,我试过了,但没有成功 begin write(#32'Enter Game Title or Code: '); readln(param); i:=1; while((data[i].game_title<>param) or (data[i].game_co
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
开始
写(#32'输入游戏标题或代码:');readln(param);
i:=1;
而((数据[i].game_titleparam)或(数据[i].game_codeparam))和(i您似乎缺少一个括号。请尝试此操作,然后告诉我:
while(((data[i].game_title=param) or (data[i].game_code=param)) and (i<totaldata)) do
begin
i:=i+1;
end;
while((数据[i].game_title=param)或(数据[i].game_code=param))和(i您应该使用和:
while (i < totaldata) and (data[i].game_title <> param) and (data[i].game_code <> param) do
i:=i+1;
while(i
或
表达式(数据[i].game\u title param)或(数据[i].game\u code param)
将始终为真
,直到game\u title=game\u data=param
请注意,必须首先执行i
检查,以避免访问超出数组边界的内存。仍然:)未找到数据,因为游戏标题和游戏代码记录未循环。我将运算符从
更改为=
。外圆括号是不必要的,在此上下文中,开始和结束也不重要。此表达式:(数据[i]。游戏标题参数)或(数据[i]。游戏代码参数)
只有在数据[i]的情况下才会为false
。游戏标题和数据[i]。游戏代码
都是相同的值,而参数
与该值不同。这是您想要的吗?