没有输入:错误检查问题

3视图(30天)
Neshant Thiru
Neshant Thiru 2020年4月19日
评论道: Mehmed萨德 2020年4月19日
清楚,clc
disp (“欢迎来到基本的转换脚本”);
提示=“请输入t温度、l长度,或质量m:“;
z =输入(提示,“年代”);
w = isempty (z);
如果w = = 0
disp (“错误!没有输入的);
结束
~ (z = =“t”| | z = =“l”| | z = =“米”)
z =输入(“错误!请再次输入想要的值:,“年代”);
w = isempty (z);
如果w = = 0
disp (“错误!没有输入的);
结束
结束
如果比较字符串(z,“t”)
disp (“1。摄氏温度转换为华氏温度的);
disp (“——”);
disp (“2。将华氏温度转换为摄氏温度的);
x =输入('请选择一个数字1或2:能很);
w = isempty (x);
如果w = = 0
disp (“错误!没有输入的);
结束
~ (x = = 1 | | x = = 2)
如果比较字符串(x,“年代”)
x =输入(“错误!请选择一个号码又能很1或2:“);
elseif(x < 0)%这个if语句错误检查任何负面价值
x =输入(“错误!请选择一个号码又能很1或2:“);
其他的
x =输入(“错误!请选择一个号码又能很1或2:“);
结束
结束
如果x = = 1
C =输入(“进入Temperatue摄氏度:”);
w = isempty (C);
如果w = = 1
disp (请输入一个号码将下次的);
结束
F = (C * 9/5) + 32;
流(1.2华氏度的温度是:% f \ n 'F);
流(1,' \ n ');
结束
如果x = = 2
F =输入(“进入Temperatue氏度:”);
w = isempty (F);
如果w = = 1
disp (请输入一个号码将下次的);
结束
C = (F - 32) * 5/9;
流(在摄氏温度是:% 1.2 f \ n 'C);
流(1,' \ n ');
结束
结束
所以我目前创建一个转换脚本。我目前想做的错误检查,确保它发出一个错误消息,当用户不输入任何东西。
我得到的是错误的:
操作数的| |和& &操作符必须转换逻辑标量值。
错误在Milestone2(第11行)
~ (z = =“t”| | z = =“l”| | z = =“米”)

接受的答案

Mehmed萨德
Mehmed萨德 2020年4月19日
编辑:Mehmed萨德 2020年4月19日
代替你的while循环的条件
你和一个字符比较z假如有人进来了
z = ' abdft '
的输出z = = ' t '(0 0 0 0 1),你不希望这样
使用比较字符串(检查它的帮助)
~ (strcmp (z,“t”)| | strcmp (z,“l”)| | strcmp (z,“米”))
你也需要扭转这种情况
w = isempty (z);
如果w = = 0
disp (“错误!没有输入的);
结束
因为每当w是空的它会给你1当你的条件如果w = = 0显示错误
但是错误其实是当w = = 1
要么改变
w = ~ isempty (z)
或改变
如果w = = 1
3评论
Mehmed萨德
Mehmed萨德 2020年4月19日
唯一的事情是
x =输入('请选择一个数字1或2:能很);
如果用户把一个字符串会发生,因为一个错误 输入 预计数值输入吗

登录置评。

更多的答案(0)

类别

找到更多的在字符和字符串帮助中心文件交换

s manbetx 845


释放

R2019b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!