前提・実現したいこと
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: 構文エラー: ';' が ']' の前にありません。
該当のソースコード
C言語
1#include <stdio.h> 2 3#define NAME_LEN 100 4 5struct money{ 6 int ID; 7 char name[NAME_LEN]; 8 char career[NAME_LEN]; 9 int year; 10 int salary; 11}; 12 13void printData(struct money Data,n); 14int searchPerson(struct money Data,n,str); 15 16int main(void) 17{ 18 struct money Data[5]= 19 { 20 {127, "Noah", "Section_Chief", 21, 400000}, 21 {204, "Olivia", "Section_Chief", 15, 350000}, 22 {255, "Liam", "Supervisor", 12, 300000}, 23 {272, "Emma", "Staff", 10, 270000}, 24 {300, "Oliver", "Staff", 5, 240000} 25 }; 26 27 printData(Data,5); 28 29 char str[100]; 30 printf("入力:"); 31 scanf("%s",str); 32 33 printf("%s",Data[searchPerson(Data,5,str)]); 34 35 return 0; 36} 37 38void printData(struct money Data,n){ 39 int i; 40 41 for(i=0;i<n;i++){ 42 printf("%s",Data[i]); 43 } 44} 45 46int searchPerson(struct money Data,n,str){ 47 int i; 48 49 for(i=0;i<n;i++){ 50 if(strcmp(Data[i],str)==0){] 51 return i; 52 } else { 53 return -1; 54 } 55 } 56}
試したこと
エラーメッセージの意味を検索して調べたのですが、
直し方が分かりません。
補足情報(FW/ツールのバージョンなど)
サクラエディタ、コマンドプロンプト VS for 2019
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/24 02:48