はじめまして。
C言語の実力は初心者程度なのですが質問があります。
題の通りなのですが、ストップウォッチって作成可能ですか?
クリックするとカウントを開始して、もう一回クリックすると止まる。
という感じで作りたいのですが。
ストップウォッチ作成
Re:ストップウォッチ作成
ストップウォッチは簡単に出来ますよ。
time.hをインクルードすることで使えるようになるclock関数を使って今の時間を取得し、
今の時間 - 過去に取得した時間
を計算すればその間の時間が出ます。
time.hをインクルードすることで使えるようになるclock関数を使って今の時間を取得し、
今の時間 - 過去に取得した時間
を計算すればその間の時間が出ます。
#include <stdio.h> #include <time.h> int main(){ clock_t t; printf("エンターを押してください。\n"); getchar();//入力を待つ t = clock();//時間を格納 printf("計測中。エンターを押してください。\n"); getchar();//入力を待つ printf("%.3f秒\n",(clock()-t)/(double)CLOCKS_PER_SEC); }
Re:ストップウォッチ作成
あら?先を越されてしまいましたか…(苦笑)
せっかくなので、乗せておきます。
せっかくなので、乗せておきます。
#include <time.h> #include <conio.h> #include <stdio.h> clock_t Elapse(clock_t Start); void Start(clock_t* pStart); int main(void) { clock_t ctStart, ctNowTime = 0; while (ctNowTime <= 99999) { Start(&ctStart); while (kbhit() == 0) { printf("%.3f\r", (double)((ctNowTime + Elapse(ctStart)) / 1000.0f)); } getc(stdin); ctNowTime += Elapse(ctStart); while (kbhit() == 0); getc(stdin); } return 0; } // 計測開始 void Start(clock_t* pStart) { *pStart = clock(); } // 経過時間(msec) clock_t Elapse(clock_t ctStart) { return (clock_t)((double)(clock() - ctStart) / (double)(CLOCKS_PER_SEC / 1000.0f)); }
Re:ストップウォッチ作成
VB の様ですが、ソースまで付いてきます。
http://www.vector.co.jp/soft/dl/win95/p ... 46014.html
C、C++ にするのも難しくはなさそうに思います
http://www.vector.co.jp/soft/dl/win95/p ... 46014.html
C、C++ にするのも難しくはなさそうに思います
Re:ストップウォッチ作成
>クリックするとカウントを開始して、もう一回クリックすると止まる。
クリックとなるとAPI使わなきゃ無理です。とりあえずサンプルプログラム組んで見ましたので、(WinAPIです)ご覧下さい。
クリックとなるとAPI使わなきゃ無理です。とりあえずサンプルプログラム組んで見ましたので、(WinAPIです)ご覧下さい。