用C语言内容在屏幕上模拟一个时钟,每按一键加一秒。并且要引用当前时间。。。急求···········

作者&投稿:钟离哲 (若有异议请与网页底部的电邮联系)
用c语言模拟一个数字时钟,要求延时一秒运行~

1、用sleep延时刷新并获取系统时间来显示。
2、例程:
#include #include #include #define PI 3.1415926 //屏幕中心的坐标(640X480模式下)#define mid_x 320 #define mid_y 240 int main() { int graphdriver=DETECT,graphmode; int end_x,end_y; struct time curtime; float th_hour,th_min,th_sec; initgraph(&graphdriver,&graphmode,"C:\\TC2"); //初始化VGA屏幕模式setbkcolor(BLACK); //使用黑色的背景色while(!kbhit(0)) //若有键盘输入,则跳出,即是结束程序{ setcolor(GREEN); //把画笔设为绿色circle(mid_x,mid_y,180); //钟的外圆circle(mid_x,mid_y,150); //钟的内圆circle(mid_x,mid_y,1); //画出钟的圆心gettime(&curtime); //取得系统当前时间th_sec=(float)curtime.ti_sec*0.1047197551; //把秒针的角度化为弧度,为以后绘制时方便,下同th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0; //分针的弧度th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0; //时度的弧度,注意整时是12等分的,所时乘的是3.14/180*5//计算出时针的尾的坐标(时针长70)end_x=mid_x+70*sin(th_hour); end_y=mid_y-70*cos(th_hour); setcolor(RED); line(mid_x,mid_y,end_x,end_y); //用红色线画出时针//计算出分针坐标(分针长110)end_x=mid_x+110*sin(th_min); end_y=mid_y-110*cos(th_min); setcolor(RED); line(mid_x,mid_y,end_x,end_y); //用红色画出分针end_x=mid_x+140*sin(th_sec); end_y=mid_y-140*cos(th_sec); setcolor(RED); line(mid_x,mid_y,end_x,end_y); //同上,画出秒针,长为140//画出钟盘上的刻度,刻度长20line(140,240,160,240); //9点对应的大刻度line(320,60,320,80); //12点对应的大刻度line(500,240,480,240); //3点的刻度line(320,420,320,400); //6点的刻度line(410,395.7,400,378.4); //5点line(475.7,330,458.4,320); //4点line(475.7,150,458.4,160); //2点line(410,84.3,400,101.6); //1点line(230,84.3,240,101.6); //11点line(164.3,150,181.6,160); //10点line(164.3,330,181.6,320); //8点line(230,395.7,240,378.4); //7点sleep(BLUE); //这里应该是打错,停止一秒,应为sleep(1000)cleardevice(); //清除屏幕上的显示} closegraph(); //关闭VGA屏幕,即返回文本方式return 0; }

#include

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

/*
函数功能:时、分、秒时间的更新
函数参数:无
函数返回值:无
*/
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){/*用回车符''控制时、分、秒显示的位置*/
printf("%2d:%2d:%2d", 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;
}

#include<stdio.h>
#include<unistd.h>

void delay(int time)
{ unsigned char tt;
while(time!=0){
--time;
for(tt=0;tt<226;tt++){}
}
}

typedef struct
{ int hour;
int minute;
int secend;
}clock;

void update(clock *t)
{ t->secend++;
delay(1000000);
if(t->secend==60)
{ t->secend=0;
t->minute++;
}
if(t->minute==60)
{ t->minute=0;
t->hour++;
}
if(t->hour==24) { t->hour=0; }
}

int main(int argc,char *argv[])
{ long i;
clock c;
c.hour=c.minute=c.secend=0;
for(i=1;i<10000;i++)
{ update(&c);
printf("%3d:%3d:%3d\r",c.hour,c.minute,c.secend);
fflush(stdout);

}
return 0;
}

在什么屏幕上啊?


C语言中,如何将文本文件的内容输出到屏幕?
fpr ) ; \/* 从文本文件中读取一行数据 *\/ while( !feof(fpr) ) \/* 当文件没有结束时,输出一行文本内容到屏幕 *\/ { printf("%s", buffer) ;fgets(buffer, 500, fpr) ; \/* 再从文本文件中读取下一行数据 *\/ } fclose(fpr) ; \/* 当整个文件内容读取结束时,关闭文件指针 *\/ } ...

...编写“读取一个给定的文本文件,并将文件的内容显示在屏幕上...
\\n"); \/\/如果fp指针指向为空,即文件为空,则输出can not open else{ \/\/读取字符:fscanf(fp,"%c",&ch),ch=fgetc(fp); fscanf(fp,"%c",&ch); \/\/读取字符 while(!feof(fp)){ \/\/feof()这个函数是用来判断指针是否已经到达文件尾部 putchar(ch); \/\/输出 fscanf...

c语言:如何将文件输出至屏幕
以下程序能将文件原文输出到屏幕:#include<stdio.h>#include<stdlib.h>int main(){FILE *fp;char ch;fp=fopen("D:\\\\f1.txt","r");if(!fp){printf("can't open file\\n");exit(1);}while ((ch=fgetc(fp))!=EOF)printf("%c", ch);fclose(fp);return 0;} ...

C语言中如何使结果停留在屏幕上
在程序结尾处加上键盘输入函数 getch();但是要在retun 之前 加 上 就可以停留 住 屏幕了

...写入一个文件,再把该文件内容读出显示在屏幕上 用c语言
include<stdio.h> main(){ FILE *fp;char ch;if((fp=fopen("d:\\\\jrzh\\\\example\\\\string","wt+"))==NULL){ printf("Cannot open file strike any key exit!");getch();exit(1);} printf("input a string:\\n");ch=getchar();while (ch!='\\n'){ fputc(ch,fp);ch=getchar()...

...另外一个文本文件中,并且把文件内容显示在屏幕上?
include "stdlib.h"main(){ FILE *fp1,*fp2;char ch;fp1=fopen("1.txt","r");fp2=fopen("2.txt", "w" );while((ch=fgetc(fp1))!=EOF) \/\/从fp1代表的文件中读取一个字符给ch { fputc(ch); \/\/把字符ch写入到文件2.txt中 putchar(ch); \/\/把字符ch显示在屏幕上 } putchar('...

怎样用c语言编写代码,用于读取文本内容在屏幕上输出?
假设文本文件data.txt的内容是\\x0d\\x0aabcde\\x0d\\x0a12345\\x0d\\x0a#include\\x0d\\x0avoid main() { FILE *fp; char buffer[256];\\x0d\\x0aif ( fp=fopen("data.txt","r") ) {\\x0d\\x0awhile ( !feof(fp) ) {\\x0d\\x0afgets(buffer,255,fp); printf("%s\\n",...

C语言从文件中读取数据整理后输出到屏幕上
;} input_status=fscanf(fp,"%d",&a);while(input_status!=EOF){ i=0;fscanf(fp,"%c",&character);while(character!='x'){ if(character=='a')i++;fscanf(fp,"%c",&character);} printf("%d %d个a\\n",a,i);input_status=fscanf(fp,"%d",&a);} }希望对楼主有所帮助~~~...

C语言如何“画"字输出在屏幕上?
C语言中,一个汉字占两个字节,可以使用char 数组进行保存 示例:include <stdio.h>int main(){ char ch[3] = "画"; printf ("%s\\n", ch); return 0;} 执行结果:

...从键盘上输入两数,判断其大小关系,将判断结果显示在屏幕上...
1.include <stdio.h> include <string.h> int main(void){ int nNum1,nNum2;printf("请输入第一个整数:");scanf("%d",&nNum1);printf("\\n请输入第二个整数:\\n");scanf("%d",&nNum2);printf("\\n输入的两个数为:%d,%d,其大小关系为:",nNum1,nNum2)if(nNum1 < nNum2)...

台儿庄区13775579813: c语言模拟时钟的程序段 -
屈璐紫轩: #include<stdio.h>#include<windows.h>#include<conio.h> int main() { while(!kbhit()) { printf("时间是:"); system("time/t"); Sleep(1000); system("cls"); } }

台儿庄区13775579813: c语言 时钟模拟 -
屈璐紫轩: #include<math.h> #include<dos.h> #include<graphics.h> #include<conio.h> #include<time.h> #define PI 3.141592653589793 int h,m,s,i,l,mon,y,d; struct time t; struct date data; draw() { gettime(&t); //取得时间信息到t s=t.ti_sec; //秒 h=t.ti_hour; ...

台儿庄区13775579813: 用C语言编一个数字电子时钟的程序
屈璐紫轩: 1.这是用windows api写的程序.所以要求是纯c的话就没有办法了 2.其中定时用了两种方法.一种是用取消息.另一种是延时队列.这里只使用了取消息的方法.延时队列由于我机器上是vc6.0,CreateTimerQueue在本人机器上无法使用,需要新...

台儿庄区13775579813: C语言时钟设计 -
屈璐紫轩: #include<graphics.h> /* 引入graphic.h */ #include<math.h> /* 引入math.h */ #include<dos.h> /* 引入dos.h */ #define pi 3.1415926 /*定义pi=3.14159*/ #define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300; #define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240; #...

台儿庄区13775579813: 用C语言内容在屏幕上模拟一个时钟,每按一键加一秒.并且要引用当前时间...急求··········· -
屈璐紫轩: include #include void delay(int time){ unsigned char tt; while(tim...

台儿庄区13775579813: c语言如何用字符拼一个时钟 -
屈璐紫轩: /*开发环境:turbo c 2.0模拟时钟转动程序代码*/ #include"graphics.h" #include"math.h" #include"dos.h" #define pi 3.1415926 #define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300 #define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240 #define d(a,b,c) X(...

台儿庄区13775579813: 用c语言编写一个程序,在显示器上自动显示年、月、日 -
屈璐紫轩: 给你一个屏幕上显示的表 全屏幕模拟时钟的C源程序#include<graphics.h>#include<math.h>#include<dos.h>#define pi 3.1415926#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;#define d(a,b,c) X(a,b,c...

台儿庄区13775579813: 用c语言编写一个有滴答声音的全屏模拟时钟. -
屈璐紫轩: 我在TC上调试通过了,不过时间好像过了额.../*开发环境:turbo c 2.0模拟时钟转动程序代码*/ #include"graphics.h" #include"math.h" #include"dos.h" #define pi 3.1415926 #define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300 #define Y(a,b,c) y=...

台儿庄区13775579813: 用C语言编一个时钟 程序 -
屈璐紫轩: /*全屏幕模拟时钟的c源程序*/#include<graphics.h>#include<math.h>#include<dos.h>#define pi 3.1415926#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,...

台儿庄区13775579813: C语言编辑一个程序.要求在屏幕上显示一个图形时钟(用程序绘制一个与时钟样式相似即可)用的什么函数 -
屈璐紫轩: 用 MFC 吧 下面是C语言里的函数 时间函数 #include #include void main () { time_t rawtime; struct tm * timeinfo; char timE [80]; time ( &rawtime ); timeinfo = localtime ( &rawtime ); strftime ( timE,80,"Data:\n%Y-%m-%d \nTime:\n%I...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网