質問: ### 前提・実現したいこと 1.構造体の要素をすべて表示する。 2.名前を入力して、一致する配列の要素を返す。 3.一致した名前のデータを表示する この操作を行いたいです。 しかし、エラーメッセージを解決できなくて困っています。 ・パラメータのリストの内容が正しくありません。 ・関数': 'money [5]' から 'money' に変換できません。 など、エラーの意味を検索して調べたのですが、 直し方が分かりません。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ ``` kadai12_3.c(13): error C2081: 'n': 仮パラメーター リスト内の名前が正しくありません。 kadai12_3.c(14): error C2081: 'n': 仮パラメーター リスト内の名前が正しくありません。 kadai12_3.c(14): error C2081: 'str': 仮パラメーター リスト内の名前が正しくありません。 kadai12_3.c(27): error C2440: '関数': 'money [5]' から 'money' に変換できません。 kadai12_3.c(27): warning C4024: 'printData': の型が 1 の仮引数および実引数と異なります。 kadai12_3.c(33): error C2440: '関数': 'money [5]' から 'money' に変換できません。 kadai12_3.c(33): warning C4024: 'searchPerson': の型が 1 の仮引数および実引数と異なります。 kadai12_3.c(33): warning C4047: '関数': 間接参照のレベルが 'int' と 'char [100]' で異なっています。 kadai12_3.c(33): warning C4024: 'searchPerson': の型が 3 の仮引数および実引数と異なります。 kadai12_3.c(33): warning C4477: 'printf' : 書式文字列 '%s' には、型 'char *' の引数が必要ですが、可変個引数 1 は型 'money' です kadai12_3.c(38): error C2081: 'n': 仮パラメーター リスト内の名前が正しくありません。 kadai12_3.c(42): error C2088: '[': struct に対して正しくありません。 kadai12_3.c(42): warning C4473: 'printf': 書式文字列として渡された引数が不足しています kadai12_3.c(42): note: プレースホルダーとそのパラメーターには 1 の可変個引数が必要ですが、0 が指定されています。 kadai12_3.c(42): note: 不足している可変個引数 1 が書式文字列 '%s' に必要です kadai12_3.c(46): error C2081: 'n': 仮パラメーター リスト内の名前が正しくありません。 kadai12_3.c(46): error C2081: 'str': 仮パラメーター リスト内の名前が正しくありません。 kadai12_3.c(50): error C2088: '[': struct に対して正しくありません。 kadai12_3.c(50): error C2143: 構文エラー: ';' が ']' の前にありません。 ``` ### 該当のソースコード ``` #include #define NAME_LEN 100 struct money{ int ID; char name[NAME_LEN]; char career[NAME_LEN]; int year; int salary; }; void printData(struct money Data,n); int searchPerson(struct money Data,n,str); int main(void) { struct money Data[5]= { {127, "Noah", "Section_Chief", 21, 400000}, {204, "Olivia", "Section_Chief", 15, 350000}, {255, "Liam", "Supervisor", 12, 300000}, {272, "Emma", "Staff", 10, 270000}, {300, "Oliver", "Staff", 5, 240000} }; printData(Data,5); char str[100]; printf("入力:"); scanf("%s",str); printf("%s",Data[searchPerson(Data,5,str)]); return 0; } void printData(struct money Data,n){ int i; for(i=0;i
回答: > > void printData(struct money Data,n){ > > > 引数nの型が書かれてません #その他も同じ > > printf("%s",Data[searchPerson(Data,5,str)]); > > > searchPersonの第一引数はstruct moneyですが、struct moneyの配列が入ってます これじゃダメです