初心者です・・・・・

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

初心者です・・・・・

#1

投稿記事 by ペコちゃん » 18年前

(時刻と日付を格納する構造体を設計してください。2つの時刻の違いを分の単位で表す関数を記述しなさい。)←←←←←←←←←←←←誰かこれの解答例をおしえてください(><)

管理人

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

#2

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

ぺこちゃんさんこんにちは。
管理人です。

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

後、

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

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

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

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

Justy

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

#3

投稿記事 by Justy » 18年前

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:初心者です・・・・・

#4

投稿記事 by ぺこ » 18年前

単純に比較してだと思います><

Justy

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

#5

投稿記事 by Justy » 18年前

 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:初心者です・・・・・

#6

投稿記事 by ぺこ » 18年前

JUSTYさんありがとうございました><

閉鎖

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