How can I use a while loop to check if user input is an integer?
28 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want the user to input a non zero even interger. However with my current code, even non zero intergers like '2' aren't recognised as so. I could remove the ~(isinteger(a) but then the code fails when user inputs a decimal. How can i incoporate it to say that the number inputted must be an integer.
prompt= 'enter non zero even integer'
z= input(prompt)
n= rem(z,2);
while (n==1)|| (a==0)||~(isinteger(z))
z= input ('try again');
n= rem(z,2);
end
disp('This number is a non zero even integer');
0 commentaires
Réponse acceptée
Adam Danz
le 24 Jan 2019
Modifié(e) : Adam Danz
le 24 Jan 2019
The while loop will continually ask for a non-zero even integer until one is entered.
prompt= 'enter non zero even integer '
z = 0;
while z=0 || mod(z,2)~=0
z= input(prompt)
end
If you'd like to avoid negative numbers, too,
while z<=0 || mod(z,2)~=0
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Variables dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!