基本上,我的程序应该接受以选民ID名称保存的投票,直到输入密码id,此时它将显示id。它必须保存为结构数组。这是我到目前为止所得到的:
secretid = 123456789;
currid = 0;
while currid ~= secretid
currid = input('Enter your id:');
if currid == secretid
votedata
break
else
strcurrid = num2str(currid);
vote = input('Enter your vote:', 's');
votedata = struct(strcurrid, vote);
end
end
根据Matlab,字段名称无效 - 它必须保存为字符串,但我不明白,我将currid转换为字符串,并且不明白为什么它不起作用。
答案 0 :(得分:6)
来自Matlab's struct reference page:
字段 - 字段名称
的字符串
字段名称,指定为字符串。有效字段名称以字母开头,可以包含字母,数字和下划线。字段名称的最大长度是namelengthmax函数返回的值。
我建议在你的id开头添加一个虚拟字母,或者只使用:
strcurrid = ['id', num2str(currid)];