运行提示变量不能用在该表达式何故?(附代码)
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 17:30:26
运行提示变量不能用在该表达式何故?(附代码)
Enum zimu '定义字母对应数字的枚举型变量
A = 1
B = 2
C = 3
D = 4
E = 5
F = 6
G = 7
H = 8
i = 9
J = 10
K = 11
L = 12
M = 13
N = 14
O = 15
P = 16
Q = 17
R = 18
S = 19
T = 20
U = 21
V = 22
W = 23
X = 24
Y = 25
Z = 26
End Enum
Private Sub Command1_Click()
jhm = Text1.Text
Dim zjhm As String
Dim shuzi As zimu
For i = 1 To 15
shuzi = Mid(jhm,i,0) '顺次读取输入的15个大写字母,并转成数值
zjhm = zjhm & shuzi '把这些数值排列连起来,实现字母转数字
Next i
Text1.Text = zjhm
Print zjhm
End Sub
Enum zimu '定义字母对应数字的枚举型变量
A = 1
B = 2
C = 3
D = 4
E = 5
F = 6
G = 7
H = 8
i = 9
J = 10
K = 11
L = 12
M = 13
N = 14
O = 15
P = 16
Q = 17
R = 18
S = 19
T = 20
U = 21
V = 22
W = 23
X = 24
Y = 25
Z = 26
End Enum
Private Sub Command1_Click()
jhm = Text1.Text
Dim zjhm As String
Dim shuzi As zimu
For i = 1 To 15
shuzi = Mid(jhm,i,0) '顺次读取输入的15个大写字母,并转成数值
zjhm = zjhm & shuzi '把这些数值排列连起来,实现字母转数字
Next i
Text1.Text = zjhm
Print zjhm
End Sub
首先,你出现这个错误的原因是你的枚举常量里面已经定义了i,下面的for循环里就不能将i作为循环变量了.然后Mid(jhm, i, 0)应改为Mid(jhm, i, 1),每次取一个字符
再者,枚举常量没有转换的功能,它只起到别名的作用,实际值是不变的
因此程序应改为
Private Sub Command1_Click()
jhm = Text1.Text
Dim zjhm As String
Dim shuzi As String
For ii = 1 To 15
shuzi = CStr(Asc(Mid(jhm, ii, 1)) - Asc("A")) '顺次读取输入的15个大写字母,并转成数值
zjhm = zjhm & shuzi '把这些数值排列连起来,实现字母转数字
Next ii
Text1.Text = zjhm
Print zjhm
End Su
再者,枚举常量没有转换的功能,它只起到别名的作用,实际值是不变的
因此程序应改为
Private Sub Command1_Click()
jhm = Text1.Text
Dim zjhm As String
Dim shuzi As String
For ii = 1 To 15
shuzi = CStr(Asc(Mid(jhm, ii, 1)) - Asc("A")) '顺次读取输入的15个大写字母,并转成数值
zjhm = zjhm & shuzi '把这些数值排列连起来,实现字母转数字
Next ii
Text1.Text = zjhm
Print zjhm
End Su
运行提示变量不能用在该表达式何故?(附代码)
谁能用matlab画出sec(x)函数的较为清洗图像 请附代码
下面java代码运行时提示search():This method must return a result of ty
C宏里面代码什么意思(附代码)
用计算机代码编写下列程度:(1)编程从键盘输入两个整数分别给变量a和b,要求在不借助于其他变量的
在c语言中,该变量已正确定义并赋值,以下正确的表达式是() A.x=y*5=x+z
滑动轴承长时间运行能用润滑脂不?
举一个含有常量和变量的例子(要求能用数学表达式来表示这个过程)
matlab 代码运行错误
在C语言中,要计算一个数(变量i)的平方根,下面代码正确的是()
【急,在线等】首字不能用数字长度在6-18字符之间 正则表达式
c语言 MAX SUM 老是答案错误啊,给的实例测试都是对的,附代码和错误提示,