C言語を勉強中の初心者です。
練習問題では、関数からポインタを使って、構造体の各要素へ数値や文字列を渡す、というようなことをしていました。
ですが、イマイチ理解が浅い気がして、typedefと関数を使わずに同じことができるのか試してみました。
しかしなかなかうまくいかず、1人でもやもやしているところです。
下記は私の苦心の成れの果てです。
↓三人分の名前、年齢、性別を入力し、最後に三人分のデータを出力するプログラム(不完全)
#include <stdio.h>
#include <string.h>
struct person {
char name[90];
int age;
int sex;
};
int main(void)
{
struct person data[3];
int i;
char seibetu[9];
for(i=0;i<3;i++) {
printf("名前を入力して下さい:");
scanf("%s",data[i].name);
printf("年齢を入力して下さい:");
scanf("%d",&data[i].age);
printf("性別を入力して下さい(1-男性,2-女性):");
scanf("%d",&data[i].sex);
printf("\n");
}
for(i=0;i<3;i++) {
printf("名前: %S\n",data[i].name);
printf("年齢: %d\n",data[i].age);
if(data[i].sex==1) {
strcpy(seibetu,"男性");
} else {
strcpy(seibetu,"女性");
}
printf("性別: %s\n",seibetu);
printf("\n");
}
return 0;
}
よろしくお願いします。