- ベストアンサー
作成したプログラムを変更したいのですがどうすればいいのかわかりません。どなたか教えていただけないでしょうか?
「商品コード」(10文字未満の文字列)、「商品名」(40文字未満の文字列)、「値段」(整数値)の3つのメンバをもつ構造体を宣言する。その構造体のデータを最大100個格納できる配列を定義し、ファイルgifts.datの最初の2行と同じ内容を、宣言と同時にそれらの変数の初期値として設定(ファイルから読み込むのではなく、プログラム中にデータを埋め込む)。さらに、次の形式で構造体配列の内容を画面に出力するプログラムを作成する。 商品コード:JZK-30 商品名:Jizake_tsumeawase 価格:4500 商品コード:BSP-15 商品名:Body_soup_set 価格:3000 上記のことを元に作成したものが下記のプログラムです。 #include<stdio.h> #include<stdlib.h> #include<string.h> struct merchandise{ char code[12]; char name[40]; int price; }; void show_m(struct merchandise *mp, int n) { int i; for(i=0;i<n;i++,mp++){ printf("code: %s\n", mp->code); printf("name: %s\n", mp->name); printf("price: %d\n\n", mp->price); } } struct merchandise m_data[100] = { {"JZK-30","Jizake_tsumeawase",4500}, {"BSP-15","Body_soup_set",3000}, }; int main(void) { show_m(m_data, 2); return 0; } このプログラムをプログラム中にデータを読み込む代わりに、ファイルgifts.datから商品データを読み込み、すべてのレコードをこの構造体配列に格納するように(画面への出力も同様にすべてのレコードを出力)したいのですがどう変更すればいいのかわかりません。どなたか教えていただけないでしょうか?
- みんなの回答 (4)
- 専門家の回答
お礼
回答ありがとうございました。助かりました。