- Remove the calls to syms q and syms a which are probably not doing what you think they are doing.
- Initialize a as anything you want other than 'q'.
- You need to tell the input command not to evaluate the user's input before returning the answer to you by adding the s flag, then separately use eval to evaluate the user input.
- Switch from using ~= to ~isequal. The difference is that ~= is an element-by-element comparison while isqual compares the entire input variables.
Ending while loop with an input from the user
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hani Kerem TURKOGLU
le 22 Jan 2021
Commenté : Hani Kerem TURKOGLU
le 26 Jan 2021
Guys as i beginner at coding, i need help with ending while loop when the user type 'q'. My codes are below.
I appreciate your help. Thanks!
clc
clear
syms q
syms a
while a ~= 'q'
a = input('Lutfen tam bolenlerini bulmak istediginiz sayiyi giriniz:')
disp('cikmak icin q tusuna basin.')
tam_bolenler = tambolenler (a)
end
function tambo = tambolenler (a)
if a > 0
y = 1;
tambo(1,y) = [0];
for i=1:a
if (mod(a,i)==0)
tambo(1,y) = i;
y = y+1;
end
end
elseif a < 0
y = 1;
tambo(1,y) = [0];
for i=-a:-1:a
if (mod(a,i)==0)
tambo(1,y) = i;
y = y+1;
end
end
else a==0
print("Bu program 0 degeri icin sonuc vermez...")
end
end
0 commentaires
Réponse acceptée
Benjamin Kraus
le 23 Jan 2021
Modifié(e) : Benjamin Kraus
le 23 Jan 2021
I'm going to ignore most of the tambolenler function, because I don't think it is needed to answer your question.
I think you have a few changes you need to make:
a = '';
while ~isequal(a,'q')
a = input('Lutfen tam bolenlerini bulmak istediginiz sayiyi giriniz:','s');
disp('cikmak icin q tusuna basin.')
if a ~= 'q'
a = eval(a); % Convert from a character vector to a number.
tam_bolenler = tambolenler(a);
end
end
3 commentaires
Benjamin Kraus
le 25 Jan 2021
Happy to help. In the future, I suggest using the code formatting tools when posting your question. It makes the code much easier to read, and therefore you are much more likely to get a faster response.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!