Hi everyone. I have a program here to determine ISBN numbers of a given 9 digit number. However, I am running into some difficulty.
clcclearisbn = input('Enter a nine digit ISBN number:' );if length(isbn) == 9 d1 = str2num(isbn(1)); d2 = str2num(isbn(2)); d3 = str2num(isbn(3)); d4 = str2num(isbn(4)); d5 = str2num(isbn(5)); d6 = str2num(isbn(6)); d7 = str2num(isbn(7)); d8 = str2num(isbn(8)); d9 = str2num(isbn(9)); A = (d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9); mod (A, 11); d10 = mod; if d10 ~= 10 fprintf ("ISBN-10: %f-%f%f-%f%f%f%f%f%f-%f",d1, d2, d3, d4, d5, d6, d7, d8, d9, d10); elseif d10 == 10 d10 = X; fprintf ("ISBN-10: %f-%f%f-%f%f%f%f%f%f-%f",d1, d2, d3, d4, d5, d6, d7, d8, d9, X); endelse if length(isbn) ~= 9 disp ('Error, ISBN must be exactly 9 digits.') endend
I am trying to get the length of the user input, but everytime I type in a 9 digit number, it reads me the Error display I wrote. It is not realizing the length value of "123456789" as 9 but rather as 1. Any suggestions?
Best Answer