请教一个C语言问题,这是一个模拟时钟程序,我想问怎样把它最后显示的时间保留在屏幕上?谢谢

#include<stdio.h>#include<stdlib.h>structclock{inthour;intminute;intsecond;};structcl... #include <stdio.h>
#include <stdlib.h>

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

struct clock CLOCK;
void Update(void)
{
CLOCK.second++;
if (CLOCK.second == 60) /*若second值为60,表示已过1分钟,则 minute值加1*/
{
CLOCK.second = 0;
CLOCK.minute++;
}
if (CLOCK.minute == 60) /*若minute值为60,表示已过1小时,则 hour值加1*/
{
CLOCK.minute = 0;
CLOCK.hour++;
}
if (CLOCK.hour == 24) /*若hour值为24,则hour的值从0开始计时*/
{
CLOCK.hour = 0;
}
}

/*函数功能:时、分、秒时间的显示
函数参数:无
函数返回值:无
*/
void Display(void) /*用回车符'\r'控制时、分、秒显示的位置*/
{
printf("%2d:%2d:%2d\r", CLOCK.hour, CLOCK.minute, CLOCK.second);
}

/*函数功能:模拟延迟1秒的时间
函数参数:无
函数返回值:无
*/
void Delay(void)
{
long t;

for (t=0; t<500000; t++)
{
/*循环体为空语句的循环,起延时作用*/
}
}

main()
{
long i;

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

/*
*/
把它最后显示的时间保留在屏幕上,而不是直接打印出press any key to continue
谢谢各位
展开
 我来答
微界度玺0E
2011-12-28 · TA获得超过105个赞
知道答主
回答量:56
采纳率:100%
帮助的人:50万
展开全部
修改之后的主函数

main()
{
long i;

CLOCK.hour =CLOCK. minute = CLOCK.second = 0; /*hour,minute,second赋初值0*/
for (i=0; i<1000; i++) /*利用循环结构,控制时钟运行的时间*/
{
Update(); /*时钟更新*/
Display(); /*时间显示*/
Delay();
if(i== 1000-1)
{
printf("%2d:%2d:%2d\r\n", CLOCK.hour, CLOCK.minute, CLOCK.second);
system("pause");
} /*模拟延时1秒*/
}

}

最后的时间停住了 不知道这是不是你想要的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式