没有输入:错误检查问题
3视图(30天)
显示旧的评论
清楚,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 = =“米”)
0评论
接受的答案
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