質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.78%

ラックナンバーサーチ・トレーニングでベストテンを選び出すフローチャート

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,107

sanchu52

score 181

ラックナンバーサーチ・トレーニングでベストテンを選び出すフローチャート

1, ラックナンバーサーチ・トレーニングで実行した日付と実行時間が
     char dtfile[]  = "LACKNUM.DAT" (1つのデータは44バイト)に入っている

 2, 並べ替え前の"LACKNUM.DAT"を表示する。大体完了

 3,  "LACKNUM.DAT"を"best"の小さい順に並べ替える(そのまま表示する。)
並べ替えはquicksortを使う 

 ラックナンバーサーチ・トレーニング(1部です。必要ないところもあります)

include <stdio.h>

include <time.h>

include <float.h>

include <ctype.h>

include <stdlib.h>

include <sys/types.h> 

include <unistd.h>

include "getputch.h"

define MAX_STAGE    3

define swap(type, x, y)    do { type t = x; x = y; y = t; } while (0)

define MAX_NUM         10

char dtfile[]  = "LACKNUM.DAT";     // ファイル名 

// 3, 並べ替え前の"LACKNUM.DAT"を表示する。
//--- 過去のトレーニング情報を取得・表示して最高得点を返す ---
double get_data(void)
{
    FILE *fp;        // これまでの履歴を指すポインタ 
    double best;            //これまでの履歴の所要時間
        if ((fp = fopen(dtfile, "rb")) == NULL) {
        printf("ファイルを作成します。\n\n");
        best = DBL_MAX;  // float.hに定義されている。double型で表現できる最大値を表すマクロDBL_MAX 
    } else {
        int i;
        struct tm local;
        double line[256];

        printf("\n過去の履歴\n-------------------------- \n");

        while((i = fread(&local, sizeof(struct tm), 1, fp)) > 0 ){
             printf("%d年 %d月 %d日 %d時 %d分 %d秒\n",
                 local.tm_year + 1900, local.tm_mon + 1,
                 local.tm_mday, local.tm_hour, local.tm_min, local.tm_sec);
             fread(&best, sizeof(double), 1, fp);
             printf("得点(所要時間)は%.1f秒\n\n", best);

         fflush(stdin);
         getchar();
         }
    }

    fclose(fp); 
    return 0;
}

int main(void)
{    
    init_getputch();

    get_data();            //--- 過去のトレーニング情報を取得・表示して最高得点を返す ---
                        // 
    term_getputch();

    return 0;
どなたかおしえていただけませんか。ヒントをいただければ、少しずつ完成していきたいのですが。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • sanchu52

    2016/01/04 21:08

    読みにくくてすみません。teratailの使い方がまだ良く分かりませんので
    おいおい直して生きたいと思います。

    キャンセル

  • ikuwow

    2016/01/05 11:46

    Markdown記法で```と```で囲むとシンタックスハイライトしやすくなって見やすくなるので、ぜひやってみてください

    キャンセル

  • sanchu52

    2016/01/05 16:30

    ikuwowさんご指摘ありがとうございます。Chironianさんのも教えていただき、
    次回からはすこしは見やすくできるのではと思っています。
    まだ直らないようでしたら、またおねがいします。

    キャンセル

回答 1

checkベストアンサー

0

こんにちは。

回答依頼を頂きましたので、ヒントを少し書いてみます。

struct tm localdouble bestの要素を持つ構造体を定義し、LACKNUM.DATに保存されているデータを記録するのに十分な数の配列を確保して下さい。そして、その配列へget_data()関数にて読み込んで下さい。
ソートはその次の段階となります。


【teratailについて】
それとsanchu52さんは既に編集機能を使えるようですので、多少の試行錯誤は可能かと思います。
編集欄の上の方に並んでいるB I A ◯ □ '' </></>を押してみてください。
「ここに言語を入力」のところにC++、「コード」のところにプログラムをコピーアンドペーストすればOKです。
pi-chanさんの修正依頼の通り、ご質問が読みにくいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/05 16:18

    Chironianさんヒントありがとうございます。
    年末年始の10日間もクイックソートとtimeの
    勉強であっという間に過ぎて、今日からお仕事です。
    teratailについての件も試してみます。
    とりあえず、しばらく取り組んでみます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る