前回の質問ではいろいろな方に教えてもらって、なんとか完成できました。
お礼の返事を書いていなかったので、失礼ではありますがこちらで御礼申し上げます。
今回の質問ですが、穴埋め問題についてアドバイスをいただきたいんです。
ドット演算子やアロー演算子を使用するところや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;
}
}
}
}
/*番号*/のところに答えを入れるようになっています。