注册 登录
编程论坛 C++教室

请帮我看下这个时钟问题的程序那除了问题,谢谢

吴丽华 发布于 2013-05-14 20:05, 641 次点击
#include  <iostream.h>

struct clock{
int hour;
int minute;
int second;
};
 

/*
函数功能:时、分、秒时间的更新
函数参数:无
函数返回值:无
*/
void Update(clock *myclock) {
myclock->second++;
if (myclock->second == 60) {       /*若second值为60,表示已过1分钟,则 minute值加1*/
myclock->second = 0;
myclock->minute++;
}  
if (myclock->minute == 60){     /*若minute值为60,表示已过1小时,则 hour值加1*/
myclock->minute = 0;
myclock->hour++;
}
if (myclock->hour == 24)    {     /*若hour值为24,则hour的值从0开始计时*/
myclock->hour = 0;
}
}

/*
函数功能:时、分、秒时间的显示
函数参数:无
函数返回值:无
*/
void Display(clock *myclock)    {     /*用回车符'\r'控制时、分、秒显示的位置*/
cout<<myclock->hour<<" :"<<myclock->minute<<" :"<<myclock->second;
}

/*
函数功能:模拟延迟1秒的时间
函数参数:无
函数返回值:无
*/
void Delay(void) {
long t;
for (t = 0; t < 290000000; t++) {
/*循环体为空语句的循环,起延时作用*/
    }
}

int main(){
clock myclock;
long i;
myclock.hour = myclock.minute = myclock.second = 0;     /*hour,minute,second赋初值0*/
for (i = 0; i < 100000; i++) {    /*利用循环结构,控制时钟运行的时间*/
Update(&myclock);           /*时钟更新*/
Display(&myclock);          /*时间显示*/
Delay();            /*模拟延时1秒*/
}
return 0;
}
数字式时钟
4 回复
#2
默语在江湖2013-05-14 20:38
应该没有错吧
#3
jmis2013-05-18 08:08
回复 楼主 吴丽华
学习中、、、、、
#4
rjsp2013-05-18 08:27
瞎扯,尤其那个Delay。
另外,代码算法奇差,struct clock也是个挂羊头卖狗肉的东西
#5
kerwin_zhong2017-02-12 11:16
#include  <iostream>
using   namespace   std   ;

struct clock{
int hour;
int minute;
int second;
};


/*
函数功能:时、分、秒时间的更新
函数参数:无
函数返回值:无
*/
void Update(clock *myclock) {
myclock->second++;
if (myclock->second == 60) {       /*若second值为60,表示已过1分钟,则 minute值加1*/
myclock->second = 0;
myclock->minute++;
}
if (myclock->minute == 60){     /*若minute值为60,表示已过1小时,则 hour值加1*/
myclock->minute = 0;
myclock->hour++;
}
if (myclock->hour == 24)    {     /*若hour值为24,则hour的值从0开始计时*/
myclock->hour = 0;
}
}

/*
函数功能:时、分、秒时间的显示
函数参数:无
函数返回值:无
*/
void Display(clock *myclock)    {     /*用回车符'\r'控制时、分、秒显示的位置*/
cout<<myclock->hour<<" :"<<myclock->minute<<" :"<<myclock->second<<endl;
}

/*
函数功能:模拟延迟1秒的时间
函数参数:无
函数返回值:无
*/
void Delay(void) {
long t;
for (t = 0; t < 290000000; t++) {
/*循环体为空语句的循环,起延时作用*/
    }
}

int main(){
clock myclock;
long i;
myclock.hour = myclock.minute = myclock.second = 0;     /*hour,minute,second赋初值0*/
for (i = 0; i < 100000; i++) {    /*利用循环结构,控制时钟运行的时间*/
Update(&myclock);           /*时钟更新*/
Display(&myclock);          /*时间显示*/
Delay();            /*模拟延时1秒*/
}
return 0;
}
1