人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

大至急!途中まで作成してあるC言語プログラムを問題文に合うよう、既存ロジックの変更を少なく、修正部分は解説コメントを付けてお願いします。
提示方法は自由。ただし簡単なテスト実行を必須とします。400P進呈!!(複数人開けた場合は当方の判断で山分け)19日朝6時まで受付。

<問題>次の構造体を1レコードとするファイルを作成。ファイル名は「shokuin.dat」1人分のデータを画面から受け取る関数プロトタイプはint get_shokuin(shokuin *sp)とする。ファイルへのデータの書き込みはfwrite関数を使用。その他は自由。

<構造体(shokuin)>
職員番号:4桁
氏名(漢字):20桁
氏名(カナ):20桁
郵便番号:6桁
住所:60桁
電話番号:12桁

ソースはこちら
http://d.hatena.ne.jp/keronimo/20070918

●質問者: keronimo
●カテゴリ:コンピュータ
✍キーワード:DAT SP コメント ソース テスト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mook
●150ポイント

使用の不明な点が多々ありましたが、そこは適当に解釈しました。

#include <stdio.h>
#include <string.h>

struct shokuin {
 int shokuin_no; // ★ 数値型にしたい?
 char name_kanji[40];
 char name_kana[20] ;
 char yubin[7] ; // ★ '\0' 分のサイズが不足
 char jyusyo[60] ;
 char tel[13] ; // ★ '\0' 分のサイズが不足
};

void get_shokuin( struct shokuin *sp ); // 構造体の型が不足

void main ( void )
{
 struct shokuin a[4] = // ★ a[] は不適なので サイズを4人分に変更:拡張性はよくない
 {
 { 1122, "池野", "イケノ", "111-00", "tokyo", "03-0123-0123" },
 { 3344, "武田", "タケダ", "176-00", "yokohama", "090-012-9876" },
 { 0, "", "", "", "", "" } 
 };
 struct shokuin *sp; //構造体へのポインタspの宣言

 get_shokuin( &(a[2]) ); //1人分のデータを画面から受け取る関数
 //最終レコードの作成 // ★ 関数でやるべき処理ではないので main へ移動
 a[3].shokuin_no = 0;

// ★ while から for 文に変更
 for( sp = a ; sp->shokuin_no != 0 ; sp++ ) //最終レコードの判断
 { //全員の表示
 printf("%d %s %s %s %s %s\n", // ★ 改行の追加
 sp->shokuin_no, sp->name_kanji, sp->name_kana,
 sp->yubin, sp->jyusyo, sp->tel );
 } 
}

void get_shokuin( struct shokuin *sp ) //1人分のデータを画面から受け取る
{ 
 printf( "1人分の情報を入力して下さい。\n" );
 printf( "職員番号の入力" );
 scanf ( "%d", &(sp->shokuin_no) ); // ★ アドレスに変更
 printf( "氏名(漢字)の入力" );
 scanf ( "%s", sp->name_kanji );
 printf( "氏名(カナ)の入力" );
 scanf ( "%s", sp->name_kana );
 printf( "郵便番号の入力" );
 scanf ( "%s", sp->yubin );
 printf( "住所の入力" );
 scanf ( "%s", sp->jyusyo );
 printf( "電話番号の入力" );
 scanf ( "%s", sp->tel );
}

2 ● q_chan
●0ポイント

はてな利用規約 第6条禁止事項

http://www.hatena.ne.jp/rule/rule#kiyaku06

◎質問者からの返答

何が禁止なのか文章で書け。

著作権?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ