为什么该计划继续进行?

时间:2013-11-22 06:41:21

标签: matlab function

我只是想跳过代码中不相关的部分 1)

function program()

choice=input('What is your choice?','s')
runProgram(choice)
disp('the program will now end')

在这个函数中,我只想输入1到5之间的数字

function runProgram(choice)

if choice==1
    loadfile
elseif.....
end

此功能仅确定我们将运行的5个子功能中的哪一个。

function loadfile()

filename=input('Write the name of the file here: ','s')
loadfile(filename)

其中loadfile是这个的另一个子功能,但我不需要详细说明。因为现在我的问题是: 我运行'program'函数并键入一个数字,但它只是立即跳到结束消息,程序结束。程序不应该首先通过子功能吗?

2 个答案:

答案 0 :(得分:2)

您的choice变量是一个字符串,但您将其与整数(if choice==1)进行比较。您需要将其与字符串进行比较(使用strcmp)或将其转换为数字(使用str2num)。

答案 1 :(得分:2)

您正在将输入检索为字符串。所以比较失败了。

只需使用

input('What is your choice?')

没有's'