前回の質問ではいろいろな方に教えてもらって、なんとか完成できました。
お礼の返事を書いていなかったので、失礼ではありますがこちらで御礼申し上げます。
今回の質問ですが、穴埋め問題についてアドバイスをいただきたいんです。
ドット演算子やアロー演算子を使用するところやtypedefを使っているので、自分ではよくわかりませんでした;
演算子の使い方がいまいちわからず、困っています。
ただ、答えを教えてもらうのでは自分にとってよくないと思いますので、アドバイスというか考え方とかを教えていただけたらと思います。
よろしくお願いします。
#include<stdio.h> #define INPUT_MAX 3 /*情報入力件数*/ #define NAME_LENGTH 19 /*最大名前文字数*/ typedef struct data /*情報構造体*/ { int number; /*番号*/ char name[NAME_LENGTH+1]; /*名前*/ }PERSON; void input_data(/* 1 */); /*1件分の情報を入力する関数*/ void sort_data(/* 2 */, int); /*情報を番号の昇順に並べ替える関数*/ int main (void) { PERSON member[INPUT_MAX]; int cnt; for(cnt = 0 ; cnt < INPUT_MAX ; cnt++) { input_data(/* 3 */); /*1件分の情報を入力*/ } sort_data(/* 4 */, INPUT_MAX); /*情報の番号を昇順に並べ替え*/ printf("\n***** MEMBERS LIST *****\n"); for(cnt = 0 ; cnt < INPUT_MAX ; cnt++) { /*情報出力(ドット演算子使用)*/ printf("%04d %-*s\n", /* 5 */ ,NAME_LENGTH, /* 6 */); } return 0; } void input_data(/* 7 */ pmem) { printf("\nInput Number : "); scanf("%d", /* 8 */ ); /*番号入力(直接メンバに代入・アロー演算子使用)*/ printf("Input Name : "); scanf("%s", /* 9 */); /*名前入力(直接メンバに代入・アロー演算子使用)*/ } void sort_data(/* 10 */ pmem, int max_cnt) { int cnt1; int cnt2; /* 11 */ temp; /*一時格納領域*/ for(cnt1=0 ; cnt1 < max_cnt-1 ; cnt1++); { for(cnt2 = cnt1+1 ; cnt2 < max_cnt ; cnt2++) { /*番号を昇順に並替え(アロー演算子使用)*/ if( /* 12 */ > /* 13 */) { /*情報を入れ替え([/url]は使用しない)*/ temp = /* 14 */; /* 15 */ = /* 16 */; /* 17 */ = temp; } } } }/*番号*/のところに答えを入れるようになっています。