質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

2164閲覧

エラーメッセージを解消したい

mememe0331

総合スコア55

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2020/07/23 08:19

前提・実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

関数の仮引数は、型 変数名をカンマで区切って並べた物です。型が必須です。

投稿2020/07/23 08:25

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mememe0331

2020/07/24 02:48

otn様、 ご回答ありがとうございます! 直したら、エラーが半分なくなりました。 助かりました
guest

0

ベストアンサー

void printData(struct money Data,n){

引数nの型が書かれてません
#その他も同じ

printf("%s",Data[searchPerson(Data,5,str)]);

searchPersonの第一引数はstruct moneyですが、struct moneyの配列が入ってます
これじゃダメです

投稿2020/07/23 08:25

編集2020/07/23 08:27
y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mememe0331

2020/07/23 08:31

y_waiwai様、回答ありがとうございます。 エラーが半分程になりました! 助かりました。もう少し考えてみます。
y_waiwai

2020/07/23 08:34

エラーメッセージを読みましょう。 英語だから読めないってことなら、google翻訳にかければたいていわかりますよ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問