c++中的模拟数字时钟的程序,怎么只是出现0:0:0啊?
//源代码如下
#include<iostream>
using namespace std;
struct clock{
int h;
int m;
int s;
};
void upper(clock *);
void shu(clock *);
void shi();
void main(){
clock aClock;
aClock.h=aClock.m=aClock.s=0;
for(;;){
upper(&aClock);
shu(&aClock);
shi();
}
}
void upper(clock *t){
t->s++;
if(t->s=60){
t->s=0;
t->m++;
}
if(t->m=60){
t->m=0;
t->h++;
}
if(t->h=24){
t->h=0;
}
}
void shu(clock *t){
cout<<t->h<<":"<<t->m<<":"<<t->s<<endl;
}
void shi(){
int t=0;
for(t=0;t<1280000000;t++);
}
//大牛们帮忙看下!!!
[解决办法]
#include<iostream>using namespace std;struct clock{ int h; int m; int s;};void upper(clock *);void shu(clock *);void shi();void main(){ clock aClock; aClock.h=aClock.m=aClock.s=0; for(;;){ upper(&aClock); shu(&aClock); shi();//--屏蔽这儿可以看到结果 }}void upper(clock *t){ t->s++; if(t->s==60)//---- { t->s=0; t->m++; } if(t->m==60){ t->m=0; t->h++; } if(t->h==24){ t->h=0; }}void shu(clock *t){ cout<<t->h<<":"<<t->m<<":"<<t->s<<endl;}void shi(){ int t=0; for(t=0;t<1280000000;t++);//这个地方的时间太长了}
[解决办法]
if(t->s=60){
t->s=0;
t->m++;
}
if(t->m=60){
t->m=0;
t->h++;
}
if(t->h=24){
t->h=0;
}
这个 括号里的 条件判断错了 不能只用一个等号 要用两个等号
[解决办法]
用Timer。