比率について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ミシェル

比率について

#1

投稿記事 by ミシェル » 17年前

Aを3秒表示させ、その後Bを7秒表示させ、それを繰り返すプログラムを書きたいのですが
3:7に分けるにはどうしたら良いのですか?

管理人

Re:比率について

#2

投稿記事 by 管理人 » 17年前

まず、何で表現したいのか、環境は何なのか教えて下さい。
コマンドプロンプトに表示させたいのかDXライブラリで作ったウィンドウになのかだけでも
プログラムは大きく違ってきます。

たかぎ

Re:比率について

#3

投稿記事 by たかぎ » 17年前

多くの環境(ただしホスト環境限定)では、
#include <stdio.h>
#include <time.h>

int main()
{
  clock_t t;

  setbuf(stdout, NULL);

  for (;;)
  {
    fputs("\rA", stdout);
    t = clock();
    while ((clock() - t) / CLOCKS_PER_SEC < 3)
      ;

    fputs("\rB", stdout);
    t = clock();
    while ((clock() - t) / CLOCKS_PER_SEC < 7)
      ;
  }
  return 0;
}
で大丈夫かと思います。
ただし、これが期待しているものかどうかまでは知りません。

lbfuvab

Re:比率について

#4

投稿記事 by lbfuvab » 17年前

眠いので我ながらヘンなプログラムですが
/***************************************
*                                      *
*     PCを起動してから10秒未満の時と   *
*     49.7日起動させている時の動作は   *
*     動作は良く分からない。           *
*                                      *
*                                      *
***************************************/

#include<stdio.h>
#include<windows.h>

int main(){
    DWORD dwCount=GetTickCount()-10000;
    
    while(1){
        while(GetTickCount()-dwCount<7000);  //7秒の計測
        dwCount=GetTickCount();
        printf("A\r");
        Sleep(2500);        //2.5秒眠らす
        while(GetTickCount()-dwCount<3000);  //3秒の計測
        dwCount=GetTickCount();
        printf("B\r");
        Sleep(6500);        //6.5秒眠らす
    }
    return 0;
}

閉鎖

“C言語何でも質問掲示板” へ戻る