#1

[C言語]平均睡眠時間を算出するプログラムを作ってみた

こんにちはTakuya.B(@TB_IQ)です。

プログラミングの復習も兼ねてC言語で平均睡眠時間を算出するプログラムを作ってみました。時間→時間&分に変換するプログラムです。

スポンサーリンク

時間→分に計算するのが面倒くさかった

週次レビューの際に平均睡眠時間をまとめている旨は昨日の記事でお話しました。

しかし、Evernoteの日次レビューを確認して平均睡眠時間を計算するのは楽ですが、例えばそこで平均睡眠時間が5.2時間だった場合、分単位に置き換えるのが面倒です。

日次レビューは5.5hのように時間単位で記録しているくせに、週次レビューは5h30mのように時間:分で記録していることがそもそもの問題なのですが…。

とにかく自分のこだわり(?)を貫き、かつ楽をしたいということでプログラムを作ってみました。

平均睡眠時間を算出するプログラム

実際に作ってみたソースコードです。作ったというよりも基本中の基本のシンプルな演算プログラムなので、手が込んでいるという訳ではありません。C言語の基礎を知っていれば誰でも5分で作れるプログラムです。

ソースコード

#include <stdio.h>

int main(void)
{
  int i, hour, min;
  float s[7], total=0, ave;

  for(i=0; i<=6; i++){
    printf("\n%d日目の睡眠時間を入力して下さい-->",i+1);
    scanf("%f", &s[i]);
    total += s[i];
  }
  
  hour = total / 7;
  ave = total / 7.0;
  min = 60 * (ave - hour);

  printf("1習慣の平均睡眠時間は %d時間 %d分 です.\n", hour,min);

  return 0;
}

適当に変数を決め、for文で7回ループさせています。for文の中で睡眠時間を入力するようにします。変数hourminを定めてやってprintf関数で出力。本当にシンプルです。

秒や分を時間に変換するプログラムは腐るほどサンプルコードが転がっているのですが、時間を分に直すプログラムは無く、「とりあえず動けばいいや!」という精神で作りました。熟練者の方でもっとスマートな方法をご存じの方はご教授頂けると幸いです。

スポンサーリンク

あとがき

とりあえず作ってみましたが、これだけで週次レビューの際の計算が楽になりました。しかし、一度楽を覚えてしまうと更に楽を求めたくなってしまうもの…。ファイル入出力機能を付けてデータを保存できやしないだろうか…。Evernoteに数値を入力するのが面倒くさいのでコピペで貼り付けられるようにしたい…。

このプログラムを元に改良してみますかな…!!