qq_23725321 2015-12-23 06:15 采纳率: 0%
浏览 1442

vc6.0模拟时钟问题,两个循环无法同时运行

#include "graphics.h"
#include "conio.h"
#include "time.h"
#include "math.h"
int main(){
int x0=400,y0=200;
int x1=0,y1=0;
int h=0;
int m=0;
int r=90;
int b=0,c=0,d=0,e=0;
char T[]="00:00:00";
char S[]="0123456789";
double pi=3.14159;
initgraph(800,600);

for(int i=0;i<=360;i+=6){
cleardevice();
setlinecolor(YELLOW);
circle(x0,y0,r+18);
setlinecolor(CYAN);
circle(x0,y0,r+10);

x1=(int)(r*cos((i-90)*pi/180)+x0);
y1=(int)(r*sin((i-90)*pi/180)+y0);
line(x0,y0,x1,y1);

if(i==360){
m+=6;i=0;
}
x1=(int)((r-20)*cos((m-90)*pi/180)+x0);
y1=(int)((r-20)*sin((m-90)*pi/180)+y0);
line(x0,y0,x1,y1);

if(m==360){
h+=30;m=0;
}
x1=(int)((r-30)*cos((h-90)*pi/180)+x0);
y1=(int)((r-30)*sin((h-90)*pi/180)+y0);
line(x0,y0,x1,y1);
Sleep(1000);
for(int a=0;a<60;a++){
if(a<10){
T[6]='0';
T[7]=S[a];
}else{
b=a%10;
c=a/10;
T[6]=S[c];
T[7]=S[b];
}

if(d<10){
T[3]='0';
T[4]=S[d];
}else{
b=d%10;
c=d/10;
T[3]=S[c];
T[4]=S[b];
}
if(e<10){
T[0]='0';
T[1]=S[e];
}else{
b=e%10;
c=e/10;
T[0]=S[c];
T[1]=S[b];
}

outtextxy(400,500,T);
Sleep(1000);
if(a>=59){
a=-1;
d++;
}
if(d>60){
d=0;
e++;

}
if(e>=24){
e=0;
}
}
}
if(i>360){
i=0;
}

getch();
closegraph();

return 0;
}
如何才能让

如何才能让电子时钟和时钟的指针同时动起来
谢谢
我用的VC6.0打了easyx的插件图片说明

  • 写回答

1条回答 默认 最新

  • 关注

    1、用2个线程分别用来刷新时间和时钟
    2、放在同一个循环里面

    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作