①5人の名前(漢字)、年齢、性別(男か女か)を入力して名簿を作り、
②その入力したデータを表示します。
③その後に、名前を検索して、
④一致した場合、その人の、データを表示します。
①②は出来たと理解しています。
また③に相当する検索する名前も入れることが出来たと理解しています。
最後の④にあたる検索が上手く出来ません。
宜しくお願いします。
#include <stdio.h>
struct meibo { /* 構造体の宣言 */
char name[20];
int age;
char seibetu[20];
};
int main(void)
{
int i;
char sagasu[20];
struct meibo shain[20]; /* 構造体変数と構造体配列の宣言 */
/* 構造体配列に scanf()でデータを入力 */ for(i = 0; i < 5; i++) { scanf("%s", shain[i].name); scanf("%d", &shain[i].age); scanf("%s", shain[i].seibetu); } /* 入力データの確認 */ for(i = 0; i < 5; i++) { printf("name:%s age:%d seibetu:%s\n", shain[i].name, shain[i].age, shain[i].seibetu); } /* 人を探す */ scanf("%s", sagasu); printf("sagasu:%s\n", sagasu); for(i = 0; i < 5; i++) { if(shain[i].name == sagasu) printf("name:%s age:%d seibetu:%s\n", shain[i].name, shain[i].age, shain[i].seibetu); } return 0;
}
y_waiwaiさん
早速のコメントありがとうございます。
入力した5名の名前、年齢、性別は、順序良く表示されました。
また検索する人の名前も表示されました。
その後、上手く検索出来ていないのか、
本来であれば、検索した人の名前、年齢、性別、だけを出力して欲しい
ところですが、1番目の人から順に、名前、年齢、性別を出力、
ということを5番目までしてしまいます。
本質問への指摘ではありませんが、過去の質問について回答が付いているのにも関わらず放置されているので、対応された方が良いと思います。(まだ解決できていない、と言うことでしょうか?) 回答いただいた方々に失礼ですし、質問者さん自身の姿勢も疑われ、決して得にはなりません。