level 1
#include
#include
#include
struct time tim;int h0,m0,s0,h1,m1,s1,h2,m2,s2;main(){ char ch=0; clrscr(); printf("按任意键开始计时!"); getch(); gettime(&tim); h0=tim.ti_hour; m0=tim.ti_min; s0=tim.ti_sec; h1=m1=s1=0; gotoxy(70,1); printf("%2d:%2d:%2d\n",h1,m1,s1); printf("按 Esc 键结束计时!"); while (ch!=27) { while(!bioskey(1)) { gettime(&tim); h2=tim.ti_hour; m2=tim.ti_min; s2=tim.ti_sec; s1=s2-s0; if (s1<0) { s1+=60;m2--;} m1=m2-m0; if (m1<0) { m1+=60;h2--;} h1=h2-h0; if (h1<0) h1=0; gotoxy(70,1); printf("%2d:%2d:%2d\n",h1,m1,s1); } ch=bioskey(0); }}
2006年05月29日 13点05分
1
level 0
新建群,欢迎大家的加入群号:24894990欢迎大家的加入,共同交流主语言:C/C++,JAVA次:C#, 汇编初学者免入
2006年05月29日 13点05分
2
level 1
不好意思,未经LZ同意将程序作了一点改变,就是将光标隐藏了这样看起来的效果会更好一点,呵呵.#include
#include
#include
struct time tim; union REGS regs;int h0,m0,s0,h1,m1,s1,h2,m2,s2; main() { char ch=0; clrscr(); printf("按任意键开始计时!"); getch(); regs.h.ah=1; /*隐藏光标*/ regs.h.cl=0; regs.h.ch=18; int86(0x10,®s,®s); gettime(&tim); h0=tim.ti_hour; m0=tim.ti_min; s0=tim.ti_sec; h1=m1=s1=0; gotoxy(70,1); printf("%2d:%2d:%2d\n",h1,m1,s1); printf("按 Esc 键结束计时!"); while (ch!=27) { while(!bioskey(1)) { gettime(&tim); h2=tim.ti_hour; m2=tim.ti_min; s2=tim.ti_sec; s1=s2-s0; if (s1<0) { s1+=60;m2--;} m1=m2-m0; if (m1<0) { m1+=60;h2--;} h1=h2-h0; if (h1<0) h1=0; gotoxy(70,1); printf("%2d:%2d:%2d\n",h1,m1,s1); } ch=bioskey(0); } }
2006年05月29日 14点05分
3
level 1
代码中"光标隐藏"语句段中的最后一行,由于百度的原因,字符被改变了:应该是int86(0x10,&_regs,&_regs); (将其中的_除掉就可以了,没办法只好这样写了.呵呵)
2006年05月29日 15点05分
4
level 1
我把程序改了一下,不会再显示光标了。与4楼改的程序效果相同,但4楼使用了中断,其实用不着那么复杂。#include
#include
#include
struct time tim;int h0,m0,s0,h1,m1,s1,h2,m2,s2;main(){ char ch=0; clrscr(); printf("按任意键开始计时!"); getch(); gettime(&tim); h0=tim.ti_hour; m0=tim.ti_min; s0=tim.ti_sec; h1=m1=s1=0; gotoxy(70,1); printf("%2d:%2d:%2d\n",h1,m1,s1); printf("按 Esc 键结束计时!"); while (ch!=27) { while(!bioskey(1)) { gettime(&tim); if (s2==tim.ti_sec) continue; h2=tim.ti_hour; m2=tim.ti_min; s2=tim.ti_sec; s1=s2-s0; if (s1<0) { s1+=60;m2--;} m1=m2-m0; if (m1<0) { m1+=60;h2--;} h1=h2-h0; if (h1<0) h1=0; gotoxy(70,1); printf("%2d:%2d:%2d\n",h1,m1,s1); } ch=bioskey(0); }}
2006年05月30日 11点05分
6
level 1
与4楼改的程序效果相同=========================效果还是不太一样啊.呵呵,关于你的方案"转移光标",我以前也用过,不过这个方案不能彻底解决这个问题.必竟光标在屏幕上的若隐若现地还是可以看得见啊.当然对于LZ写的计时器的程序,用LZ的方案也是完全没有什么影响的,呵呵.
2006年05月30日 14点05分
7
level 1
楼上的!程序运行在turbo c/c++上怎么不行的?
2006年12月20日 02点12分
8
level 0
随机生成并显示一个单词(一组字符),然后读娶练习人员的输入并计时,直到输入","为止(表示当前用户输入结束),将输入的字符与生成的单词进行比较,并统计
正确的
字符,然后,重新生成新单词.重复原来的步骤,直到输入"."表示结束练习,最后统计并输入整个练习情况.
2007年09月06日 01点09分
10