我的ps程序错误哪里错了

求大神吗看我程序哪里错了_c++吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:208,985贴子:
求大神吗看我程序哪里错了收藏
#include &iostream.h&void HuiDuBianHuanDib::Fei0(){LPBYTE p_int wide,p_data=this- &GetData();wide=this- &GetWidth();height=this- &GetHeight();for(int j=0;j&j++)
for(int i=0;i&i++){if(*p_data!=0)*p_data=255;p_data++;}}在VC6.0下运行就出现c:\users\administrator\desktop\cpp1.cpp(2) : error C2653: 'HuiDuBianHuanDib' : is not a class or namespace namec:\users\administrator\desktop\cpp1.cpp(4) : error C2065: 'LPBYTE' : undeclared identifierc:\users\administrator\desktop\cpp1.cpp(4) : error C2146: syntax error : missing ';' before identifier 'p_data'c:\users\administrator\desktop\cpp1.cpp(4) : error C2065: 'p_data' : undeclared identifierc:\users\administrator\desktop\cpp1.cpp(6) : error C2673: 'Fei0' : global functions do not have 'this' pointersc:\users\administrator\desktop\cpp1.cpp(6) : error C2059: syntax error : '&'c:\users\administrator\desktop\cpp1.cpp(7) : error C2673: 'Fei0' : global functions do not have 'this' pointersc:\users\administrator\desktop\cpp1.cpp(7) : error C2059: syntax error : '&'c:\users\administrator\desktop\cpp1.cpp(8) : error C2673: 'Fei0' : global functions do not have 'this' pointersc:\users\administrator\desktop\cpp1.cpp(8) : error C2059: syntax error : '&'c:\users\administrator\desktop\cpp1.cpp(12) : error C2100: illegal indirectionc:\users\administrator\desktop\cpp1.cpp(13) : error C2100: illegal indirection执行 cl.exe 时出错.程序是从书上一字不漏的打出来的,怎么就出错了呢?
少了类的头文件和typedef的头文件
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或下载_下载软件_提供最新最安全的免费软件资源下载_天空软件下载
精品软件推荐> 这程序哪有错?感觉。。。没错啊班里来了一名新同学,很喜欢数学,同学们问他年龄的时候,他这样说:“我
这程序哪有错?感觉。。。没错啊班里来了一名新同学,很喜欢数学,同学们问他年龄的时候,他这样说:“我
shshiyouchun & &
发布时间: & &
浏览:89 & &
回复:1 & &
悬赏:0.0希赛币
这程序哪有错?感觉。。。没错啊!
班里来了一名新同学,很喜欢数学,同学们问他年龄的时候,他这样说:“我的年龄的平方是个三位数,立方是个四位数,四次方是个六位数。三次方和四次方正好用遍0--9这10个数字,那么猜猜我多大?”。。
本人编写程序如下。。
#include&stdio.h&
int&main(void)
&&&&int&age&=&18;
&&&&int&&x;
&&&&int&&y;
&&&&int&&z;
&&&&int&&a[10],i,t,j;
&&&&int&&s[10]={0,1,2,3,4,5,6,7,8,9};
&&&&&&&&&&&&&y&=&age&*&age&*&age&;
&&&&&&&&&&&&&for(i&=&0&;&i&&=&3&;&i++)
&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&a[i]&=&y&%&10;
&&&&&&&&&&&&&&&&&&&y&/=&10;
&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&z&=&age&*&age&*&age&*&
&&&&&&&&&&&&&for(i&=&4&;&i&&=&9&;&i++)
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&a[i]&=&z&%&10;
&&&&&&&&&&&&&&&&&&&&z&/=&10;
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&for(i=0;i&9;i++)&/*&冒泡法排序&*/&
&&&&&&&&&&&&&for(j=0;j&10-i-1;j++)&
&&&&&&&&&&&&&if(a[j]&a[j+1])&
&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&t=a[j];/*&交换a[i]和a[j]&*/&
&&&&&&&&&&&&&&&&a[j]=a[j+1];&
&&&&&&&&&&&&&&&&a[j+1]=t;&
&&&&&&&&&&&&&&&}&
&&&&&&&&&&&&&&&for(i&=&0&;&i&&=&9&;&i++)
&&&&&&&&&&&&&&&{&&
&&&&&&&&&&&&&&&&&&if&(a[i]&==&s[i])
&&&&&&&&&&&&&&&&&&printf("这位同学的年龄是%d\n",age);
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&}&&&&&&&&&&&
&&&&&&&&&&age++;
&&&&while(age&&=&21);&&&
试试:将  for(i&=&0&;&i&&=&9&;&i++)
&&&&&&&&&&&&&&&{&&
&&&&&&&&&&&&&&&&&&if&(a[i]&==&s[i])
&&&&&&&&&&&&&&&&&&printf("这位同学的年龄是%d\n",age);
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&}&&&&&&&&&&&
改为:  for(i&=&0&;&i&&=&9&;&i++)
&&&&&&&&&&&&&&&{&&
&&&&&&&&&&&&&&&&&&if&(a[i]&==&s[i])
&&elseshshshdy & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&VB语言,我想写一个程序运行后一分钟,执行某个语句的程序,但是执行不成功,请大家帮忙看看,错在哪里了
VB语言,我想写一个程序运行后一分钟,执行某个语句的程序,但是执行不成功,请大家帮忙看看,错在哪里了 10
我用VB,建设了一个timer控件,在控件中添加以下代码,目的就是为了让程序在运行一分钟之后,执行msgbox语句,但是我的代码执行不了此功能,大家看看,错在哪里了,我分别写了两段代码。
Private Sub Timer1_Timer()Timer1.Interval = 1000Dim a As StringDim b As Integera = Timeb = Minute(a)If Minute(Now) = b + 1 ThenMsgBox "hello"End IfEnd Sub
dim a as stringdim b as integera=timeb=minute(a)
if b=b+1 thenmsgbox "hello"end ifend sub
以上两段代码,运行后,都没有效果,不会在程序执行一分钟之后,执行msgbox语句,麻烦高手帮我看看,错在哪里了,最好贡献一段正确的代码出来。
你对基础不熟悉哦。
最简单的:
Private Sub Form_Load()&&& Timer1.Interval = 60000End Sub
Private Sub Timer1_Timer()&&& MsgBox "Hello"End Sub
也可以这样:
Dim i As Integer '定义一个 窗体级变量i
Private Sub Form_Load()&&& Timer1.Interval = 1000 '每1秒执行一次 Timer1_Timer()这个事件End Sub
Private Sub Timer1_Timer()&&& i = i + 1&&& If i = 60 Then '判断是否到了第60秒&&&&&&& MsgBox "Hello"&&& End IfEnd Sub
还有,我要说一下你这个代码的问题
这是你的代码:
Private Sub Form_Load()Dim a, b As Integera = Timeb = Minute(a)
Private Sub Timer1_Timer()If Minute(Now) = b + 1 ThenMsgBox "hello"End IfEnd Sub
首先是 变量a、b的定义,不应该放在 Form_Load()里,因为你在那里声明的变量是过程级变量,当程序运行到 End Sub 后,变量a 、b 就被释放了(就是已经没有a、b这两个变量了)。应该把它们放在窗体模块的声明部分来声明(声明部分就是在最上面的,如图,好像这图的绿色的字看不清,那就算了,看红的字就好了),有个问题 刚才忘了改了,就是声明部分的,应该写,而不是 Dim a , b As Integer ,这两个是不一样的,Dim&a, b&As Integer 相当于 Dim a As Variant, b As Integer,我发现很多人没有认识到这一点。
这样改后,代码就是
Dim a As Integer, b As Integer
Private Sub Form_Load()&&& a = Time&&& b = Minute(a)End Sub
Private Sub Timer1_Timer()&&& If Minute(Now) = b + 1 Then&&&&&&& MsgBox "hello"&&& End IfEnd Sub
但有的地方还可以修改, Form_Load()事件里的
&&& a = Time&&& b = Minute(a)
可以改成 b = Minute(Time),没必要使用变量 a ,在Timer1_Timer()里你也是用Minute(Now),所以这里你也可以改成 b = Minute(Now)。我现在就把代码里的 Minute(Now) 改为 Minute(Time)&吧,改后代码为:
Dim b As Integer '去掉了变量a
Private Sub Form_Load()&&& b = Minute(Time)End Sub
Private Sub Timer1_Timer()&&& If Minute(Time) = b + 1 Then&&&&&&& MsgBox "hello"&&& End IfEnd Sub
嗯,这样似乎就完美了吧。但,其实它有个错误(是你弄错了的,呵呵,我给你讲一下吧),你是这样想的,先获取现在时间的 分,再继续获取时间的 分,直到所获取的 分钟&比 原来获取的那个大1,就是过了1分钟。但事实不是这样的,假如 原来获取的是时间10:10:56 里的分钟,即10,但它离 10:11:00 只有4秒,等时间到了10:11:00 后,获取的分钟数 就比原来的大1,就执行了 MsgBox "Hello"。
这样说你就已经明白你的错误了吧。
你熟用易语言不?
不懂。刚在学。你呢?
哦,原来是这样啊。
我对易只是了解,还没有时间正式地学它呢。
我会的是VB 6,其实易语言和 VB 6有很多相似的,所以我要学易的话应该很容易就能学会的。
那你是否学过别的编程语言?如果你是编程的初学者,那你又怎么用到API了呢?
哦,你要做那个 XZ者,所以用到这些代码。 呵呵。
提问者 的感言:不错,回答非常的好。很满意。 相关知识
其他回答 (5)
首先,你的Interval值应该是在属性列表中设置。要是你想让它一分钟后执行,那Interval的值为60000,然后在timer事件中写msgbox &hello&。这样就可以了,
现在说说你的为什么不行。首先,你每次执行的时候都要设置Interval,这是没必要的。其次,你的a和b为局部变量,而不是全局变量。也就是,每次执行timer事件是,都会定义一个a,b然后再取时间的分钟数,本来你的期望是time和now是不同的,但事实上是相同的,因为每次执行,a,b永远相等,因此if语句就永远无法执行了。
Private Sub Form_Load()Dim a As StringDim b As IntegerTimer1.Interval = 60000End Sub
Private Sub Timer1_Timer()a = Timeb = Minute(a)If Minute(Now) = b + 1 ThenMsgBox "hello"End If
我这样编写代码了,但是运行后,也不在一分钟之后,弹出来HELLO啊
这是为啥呢?
窗体加一个timer,不要做任何更改,将下面代码复制到你的代码编辑区。
private sub form_load()
timer1.interval =60000 
end sub 
private sub timer1.timer()
msgbox &hello&
end sub 
你看这样是不是就出来了?很简单的问题不要想那么复杂了……-_-||
前一个将第一句()放到窗体加载里,就是load事件中,后俩句移至公共区域.第二个把定义语句移至公共区域.
Private Sub Form_Load()Dim a, b As Integera = Timeb = Minute(a)
Private Sub Timer1_Timer()If Minute(Now) = b + 1 ThenMsgBox "hello"End If
我的这段代码,为什么也运行不了呢?
Interval填100
定义语句移至time事件中,否则你的变量只能取得静止时间,if几乎不可能成立.
把interval设备成100是什么意思?
如果移至timer事件中,不是每执行一次,TIMER事件过程,都要重新定义变量了吗?
抱歉,那天犯了低级错误.....
问题出在定义语句dim上
dim b as string
代码应写在:声明区
否则,变量在过程中...被释放了
你试试...你那代码可能在01分钟时,暂时有效...
把时间设置为60000&& OK
private sub from_load()
Timer1.Interval = 1000
timer1.enable=trueend sub
Private Sub Timer1_Timer()static i as integer
if i &=60 then
timer1.enable=false
msgbox "hello"
我以下的代码,为啥也执行不起来呢?麻烦你帮忙分析一下,错在哪里了
Private Sub Form_Load()Dim a As IntegerDim b As IntegerEnd Sub
Private Sub Timer1_Timer()Timer1.Interval = 60000a = Minute(Now)b = a + 1If Minute(Now) = b ThenMsgBox "hello"End If
Timer1.Interval,最大10000,你超了。
a,b你定义在form load里,没有意义
设minute(now) = x
if ... then 中相当于 x =x+1 所以不管你的timer怎么样都没用。返回false
这是复合语句的定义把多个语句用括号 是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾;此外,在括号“}”外不能加分号。所以一般复合语句用于 要执行某段特殊功能的程序比如for语句 if语句
while 语句 甚至 某些函数等VB语言,我想写一个程序运行后一分钟,执行某个语句的程序,但是执行不成功,请大家帮忙看看,错在哪里了这里有视频教程可以看下
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号

我要回帖

更多关于 我的电脑应用程序错误 的文章

 

随机推荐