とても難しい問題なので教えていただきたいです。次のようなデータ構造をもつバイナリファイル『shain.bin』と
氏名リストが記載されたテキストファイル『name.txt』を読み
込み、社員データとして構造体shainに社員番号、所属、分野、
年齢、氏名の要素で情報を格納する。
コマンドライン入力で分野情報(M・S・E)を入力し、
指定された分野の社員情報をテストファイル『bunya.txt』に出
力する。(出力例の表記で出力する)
ルール
■ファイル読み込みは、read()関数にて行う。
※1つの関数で、バイナリファイルとテキストファイルを読み込むようにする。
※引数:ファイルパス、ファイル種別(0:テキストファイル、1:バイナリファイル)
■ファイル書き込みは、write()関数にて行う。
■社員データは、main関数内で保持する。
画面参考
shain.bin
4 byte 社員番号
4 byte 所属
4 byte 分野
4 byte 年齢
name.txt
山本太郎
髙橋健太
佐藤一樹
石塚健二
伊藤信也
山田宏
上本伸二
画面出力例
bunya.txt
社員番号,所属,分野,年齢
1002,東京,S,25,髙橋健太
1003,埼玉,S,26,佐藤一樹
1007,神奈川,S,24,上本伸二
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
所属がどういう形式でshain.binに格納されているのか?判らない。
SHIFT-JISで文字列が入ってるのか?神奈川は"神奈"だけ入ってるのか?数字で都道府県に対応する番号が決まってるのか?ならそのテーブルは?
社員番号の範囲は0~4294967296
分野の文字数の上限は4文字って事があるのか?
氏名の長さの上限はあるのか?
データの最大数は決まってるのか?
扱う文字コードは?
とか、細かい仕様が分かってると、手を抜きやすい。
No.1
- 回答日時:
具体的に何処の部分がわかりませんか?
それ以前にこの処理手順を日本語の箇条書きや何らかのチャート図で書くことは出来ていますか?
それをするにあたり、いきなりコーディングの1ステップ、1ステップを考えるのではなく、「このファイルを読み込んでプログラム内部にこういう構造の(←配列がどうとか整数の変数がどうとかではなく1人1行のこういう感じの構造の)データに展開し、次にこっちのファイルを読み込んで同じデータ構造のまだ埋まっていないこの欄にデータを入れ、更に続いて・・・」といった大まかな流れを考え、その次にその大まかな部分一つ一つを順に更に詳しい細かな手順に落として行く・・・という“設計”をしていますか?
おそらくこの設計をせずにプログラムの頭から下降としているので「どこから手を付けたらよいのかわからん!」となっているのではないでしょうか?
違ったらごめんなさい。
でもそんな気がする・・・。(^^;
ということで日本語で処理手順を考えて書き物を作りましょう。
箇条書きにする際は本の章・節のように構造化するとわかりやすいです。
以下のような感じで。
「章」が大きな処理の順番
「節」が大きな処理一つの中の中くらいの処理の順番
その下が一つの節の中の具体的な細かな処理の順番
全体の処理内容がとても多かったり複雑だったりする場合は節を2段、3段にするとかいった風になって行きます。
ご質問のプログラムでしたら章の下が(1)、(2)でも行ける・・・かな? そうかな?
1. xxx
1.1. yyy
(1) ...
(2) ...
1.2. zzz
・
・
・
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- 会社・職場 Excel、Googleスプレッドシートなどへのデータ入力 2 2023/07/06 05:59
- Excel(エクセル) 【関数】【マクロ】データの転記の方法について 2 2023/07/26 15:22
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
時間短縮のために、テキストフ...
-
Excel.VBA テキストファイルを...
-
A列をテキストファイル名に、B...
-
c言語の問題です
-
テキストファイルを直接置換す...
-
コマンドプロンプトのエラーに...
-
コマンドプロンプトの「%1」と...
-
大量のフォルダからひとつのフ...
-
バッチ処理でファイルの中身を...
-
#include <Windows.h>というヘ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
バッチでテキストファイルから...
-
PCのアプリケーションを別のPC...
-
Windows10にデュアルブートでXP...
-
Python CSVファイルについて
-
echoの出力の最後のスペースを...
-
VBAでワークシートを引数として...
-
コマンドプロンプト標準出力と...
-
一括でフォルダと同じ名前にフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでPowerPointからExcelにデ...
-
特定フォルダ内のテキストファ...
-
VB6側からテキストファイルをク...
-
複数行の文字列を変数として使...
-
Excel.VBA テキストファイルを...
-
BCPユーティリティの使用法_...
-
fortranでのcsvファイルを出力...
-
テキストファイルの行頭に文字...
-
ある文字列を含む行の抽出
-
テキストファイルを直接置換す...
-
VBAで新しい日付順にファイルを...
-
unicode文字列(日本語)のファイ...
-
iniファイルとの比較(iniファイ...
-
access vbaでCSVファイルを文...
-
バッチでiniファイルの編集
-
A列をテキストファイル名に、B...
-
VBAで任意のフォルダ内のファイ...
-
C#でのファイル編集と上書き保...
-
ランレングス符号化を用いた符...
-
cobolのコメント削除
おすすめ情報