はじめまして。
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));
}-
Hermit
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++ にするのも難しくはなさそうに思います
-
tk-xleader
Re:ストップウォッチ作成
>クリックするとカウントを開始して、もう一回クリックすると止まる。
クリックとなるとAPI使わなきゃ無理です。とりあえずサンプルプログラム組んで見ましたので、(WinAPIです)ご覧下さい。
クリックとなるとAPI使わなきゃ無理です。とりあえずサンプルプログラム組んで見ましたので、(WinAPIです)ご覧下さい。