新手刚学VB不久,求大侠帮忙解一道题!不尽感激!!!!
小弟我刚刚学习编程的visual basic 08,作业遇到了麻烦,请求大虾帮忙!!因为用的是英文教材的书,所以更是难上加难,现在有一道题是要做一个程序辨认ISBN码是否正确
原题目是英文的,然后我自己翻译了一下,题目的大致内容如下:
国际标准书号(International Standard Book Number)简称ISBN,是国际通用的图书或独立的出版物代码,它由是个字符组成。前九个字符是数字,然后最后一个字符是X(X就代表10)或者是单独一个数字。
0-13-030-657-6,0-32-108559-X,0-471-58719-2是三个ISBN码的例子。连字号“-”把这一串字符分成了四部分,第一部分一般是由一个数字组成,代表语言(0是英语,2是法语,3是德语,等...);第二个部分是代表出版社的号码;第三部分是书本的号码;第四本部分是由一个字符组成的,这个字符叫做“校验码”,校验码通常是一组数字的最后一位,由前面的数字通过某种运算得出,用以检验该组数字的正确性。
我们把ISBN这十个字符参考成 d1,d2,d3,d4,d5,d6,d7,d8,d9和d10,
那么ISBN码的sum:
10×d1 + 9×d2 + 8×d3 + 7×d4 + 6×d5 + 5×d6 + 4×d7 + 3×d8 + 2×d9 + 1×d10
加起来可以被11整除
如果ISBN码最后一个字符是X,那么在“sum”里面,X将会代替10,例如,ISBN码0-32-1085599-X,那么sum将会是
10×0 + 9×3 + 8×2 + 7×1 + 6×0 + 5×8 + 4×5 + 3×9 + 2×9 + 1×10 = 165
165÷11等于15 所以这个ISBN码没有错误,如果ISBN有错的话,那么它将不会能被11整除
关于这道题目的问题是:
写一个程序 可以允许ISBN类型的号码(包括连字号“-”)作为输入,计算sum(*),然后显示是否这是一个有效地ISBN号码。(提示:如果n Mod 11 是0 那么数字n 可以被11整除)。 在计算sum之前,程序要检查前九个字符必须是数字,然后最后一个字符必须是数字或者X。
对于这种题我根本是无从下手,希望大侠们能帮我写写代码~~~不尽感激!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
之前在区也发了个帖子,但是貌似人没理。。希望有大侠指点