Terminate while loop when user hits enter
显示 更早的评论
Hi eveyone,
This is my while loop. It must end when user hits enter without entering a value . The loop allows for upto 3 successive blank entries before terminating. And, I cant get the n_points matrix to save entries without error.
How do I fix these?
Thank you for your time.
clear all
disp('Begin entering the data points')
t = 1;
x_point = input('enter x : ')
y_point = input('enter y : ')
n_points = [x_point,y_point];
while x_point ~= isempty(x_point) | y_point ~= isempty(y_point) % does not terminate immedeately when user presses enter without entering a value.
x_point = input('enter x : ')
y_point = input('enter y : ')
t = t+1
n_points(t,:) = [x_point,y_point];
end
采纳的回答
更多回答(1 个)
Jonathan Clayton
2021-4-10
the code below looks at the number of elements that the user has inputed for that loop, and if that number is zero then the loop is broken.
if numel(x_point)+numel(y_point)==0
break
end
Add this code above n_points variable so that the empty vaibles are not added to your list.
4 个评论
klb
2021-4-11
Jonathan Clayton
2021-4-11
ok so that is a simple fix
if numel(x_point)==0
break
end
add this if statement directly after where the user adds the x_point in the while loop. this will break the loop if the user does not input anything when promted and simply hits enter.
klb
2021-4-12
类别
在 帮助中心 和 File Exchange 中查找有关 Clocks and Timers 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!