プログラミング+α学習ブログ

勉強したことの備忘録です。

文字列を流しながら表示するプログラム

流れない(T0T)

#include <math.h>
#include <stdio.h>
#include <string.h>

/*---時間を浪費する(間を置く) ---*/
void wait(int tm)
{
    int i, j;
    
    for (i = 1; i < tm; i++)
        for (j = 1; j < tm; j++) {  // 次行は宣言なので{}は必要
            double x = sin(i) * cos(j); // 式は何でも良い。
        }
}

int main(void)
{
    int cnt = 0;
    char mes[] = "BohYoh Shibata"; // 表示する文字列
    int len = strlen(mes);  // 表示する文字列の文字数

    while (1) {
        int i;
        putchar('\r');  // カーソルを行の先頭へ
        for (i = 0; i < len; i++) {
            if (cnt + i < len)
                putchar(mes[cnt + i]);
            else
                putchar(mes[cnt + i - len]);
        }
        wait(1000); // 数値を変えるとスピードが変化
        if (cnt < len - 1)
            cnt++;
        else
            cnt = 0;

    }
    
    return (0);
}