ページ 11

初心者です・・・・・

Posted: 2006年12月10日(日) 03:17
by ペコちゃん
(時刻と日付を格納する構造体を設計してください。2つの時刻の違いを分の単位で表す関数を記述しなさい。)←←←←←←←←←←←←誰かこれの解答例をおしえてください(><)

Re:初心者です・・・・・

Posted: 2006年12月10日(日) 03:22
by 管理人
ぺこちゃんさんこんにちは。
管理人です。

構造体の作り方はわかりますか?

後、

・2つの時刻の違いを分の単位で表す関数

という意味がよくわかりません。
関数を呼んだ違う時間に分の単位で表示するのか

違う国の時間を表示するのか・・。

「2つの時刻」とはなんですか?

Re:初心者です・・・・・

Posted: 2006年12月10日(日) 03:33
by Justy
2つの時刻の違いを分の単位で表す関数
 単純に2つの時間構造体を比較して、ってことではないでしょうか。
[color=#d0d0ff" face="monospace]struct time_info { /*何か*/ };
typedef int    diff_minutes;
diff_minutes get_diff_minutes(const struct time_info* time1, const struct time_info* time2);[/color]

Re:初心者です・・・・・

Posted: 2006年12月10日(日) 04:05
by ぺこ
単純に比較してだと思います><

Re:初心者です・・・・・

Posted: 2006年12月10日(日) 19:48
by Justy
 time.h内の標準関数を使えば簡単にできます。

 以下がその解答例です。
 あくまで例なので、このまま出しても通用するかどうかはわかりませんが。
[color=#d0d0ff" face="monospace]typedef struct date_time
{
    unsigned int    year:   8;  //  1900年を 0とする
    unsigned int    month:  4;  //  1月を 1とする
    unsigned int    date:   5;  //  1日を 1とする
    unsigned int    hour:   5;
    unsigned int    minute: 6;
} date_time;


int diff_date_time(const date_time *time1, const date_time *time2)
{
    struct tm   tm1 = { 0, time1->minute, time1->hour, time1->date, time1->month-1, time1->year, 0, 0,-1 },
                tm2 = { 0, time2->minute, time2->hour, time2->date, time2->month-1, time2->year, 0, 0,-1 };
    return (int)(difftime(mktime(&tm2), mktime(&tm1)) / 60);
}[/color]

Re:初心者です・・・・・

Posted: 2006年12月10日(日) 22:25
by ぺこ
JUSTYさんありがとうございました><