| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 862 人关注过本帖
标题:[求助]我用if条件句,计算怎么错误了?
只看楼主 加入收藏
nangua
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-18
收藏
 问题点数:0 回复次数:9 
[求助]我用if条件句,计算怎么错误了?

编程求下列多项式的值






我编写的代码如下

Private Sub Command1_Click()

If x > 8 And x < 20 Then
x = Val(Text1.Text)
y = 2 * x + Cos(1 / (x * x * x))
Label1.Caption = y

ElseIf x > -6 And x < 5 Then
x = Val(Text1.Text)
y = 2 * x * Sin(x) - 8
Label1.Caption = y

ElseIf x > 25 And x < 40 Then
x = Val(Text1.Text)
y = 3 + Exp(x) + 2 / x
Label1.Caption = y

Else
Label1.Caption = "输入错误"

End If



End Sub

其中 Command1 为计算按钮 label1为输出结果。

以上代码那里错误了,计算时候结果不正确啊。请各位帮助下,谢谢。。。








[此贴子已经被作者于2007-7-19 16:40:54编辑过]

搜索更多相关主题的帖子: 条件 
2007-07-19 15:43
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:0 

x = Val(Text1.Text)这个也应该放外面啊
Private Sub Command1_Click()
x = Val(Text1.Text)
If x > 8 And x < 20 Then

y = 2 * x + Cos(1 / (x * x * x))
Label1.Caption = y

ElseIf x > -6 And x < 5 Then
y = 2 * x * Sin(x) - 8
Label1.Caption = y

ElseIf x > 25 And x < 40 Then
y = 3 + Exp(x) + 2 / x
Label1.Caption = y

Else
Label1.Caption = "输入错误"

End If



End Sub


汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2007-07-19 16:01
nangua
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-18
收藏
得分:0 

我换其他语句实现了功能 但是又有其他问题了

先看代码吧

Dim x!, y!
Private Sub Command1_Click()

x = Val(Text1.Text)

Select Case x

Case 8 To 20
y = 2 * x + Cos(1 / (x ^ 3))
Label1.Caption = y


Case -6 To 5
y = 2 * x * Sin(x) - 8
Label1.Caption = y

Case 25 To 40
y = 3 + Exp(x) + 2 / x
Label1.Caption = y


End Select


End Sub


就是不包括 8 20 -6 5 25 40 这些点 要怎么处理呀?


南瓜QQ:281467266 邮箱 hack.nangua@ 望多多结交网络编程爱好者.
2007-07-19 16:01
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:0 

你那有什么错误?


汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2007-07-19 16:05
nangua
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-18
收藏
得分:0 



就是不包括 8 20 -6 5 25 40 这些点 要怎么处理呀?





南瓜QQ:281467266 邮箱 hack.nangua@ 望多多结交网络编程爱好者.
2007-07-19 16:51
nangua
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-18
收藏
得分:0 
回复:(tanghuawei)x = Val(Text1.Text)这个也应该放...
我其他代码都不变
添加了
Private Sub Form_Load()
x = Val(Text1.Text)
End Sub
可以了

请问添加
Private Sub Form_Load()
x = Val(Text1.Text)
End Sub
就OK的原因 能不能解释下啊? 虽然解决了,但不是很了解啊。

为什么 x = Val(Text1.Text)

在 Private Sub Form_Load() 和 Private Sub Command1_Click() 里都要有呢?








南瓜QQ:281467266 邮箱 hack.nangua@ 望多多结交网络编程爱好者.
2007-07-19 16:57
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
Dim x!, y!
Private Sub Command1_Click()
x = Val(Text1.Text)
Select Case x
Case 8,20,-6,5,25,40
Exit Sub
Case 8 To 20
y = 2 * x + Cos(1 / (x ^ 3))
Case - 6 To 5
y = 2 * x * Sin(x) - 8
Case 25 To 40
y = 3 + Exp(x) + 2 / x
End Select
Label1.Caption = y
End Sub

快上课了……
2007-07-20 00:04
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:0 
以下是引用nangua在2007-7-19 16:57:25的发言:
我其他代码都不变
添加了
Private Sub Form_Load()
x = Val(Text1.Text)
End Sub
可以了

请问添加
Private Sub Form_Load()
x = Val(Text1.Text)
End Sub
就OK的原因 能不能解释下啊? 虽然解决了,但不是很了解啊。

为什么 x = Val(Text1.Text)

在 Private Sub Form_Load() 和 Private Sub Command1_Click() 里都要有呢?


放在Load事件里面只是给x赋一个初始值,在你执行Command事件时,只是获取Text1.text的值,与Load事件根本无关!


汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2007-07-20 10:20
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
对于2楼 把Val语句提到if外面 起到了简化代码的作用 但是功能和1楼毫无区别;
对于3楼 select case里面的case 用to的话 定义的就是闭区间 如果向使用开区间 就需要如同7楼(当然是整数的话就不用这么麻烦 case 9 to 19就是了)

对于6楼 你在form load里面加这个根本没有任何意义 我不明白为什么你加这个对你的程序功能会有影响

2007-07-20 17:32
nangua
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-18
收藏
得分:0 
  明白了   运行正常   谢谢各位了。。。

南瓜QQ:281467266 邮箱 hack.nangua@ 望多多结交网络编程爱好者.
2007-07-25 16:32
快速回复:[求助]我用if条件句,计算怎么错误了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017414 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved