C言語の勉強をしているものですが以下の問題のエラーが取れなくて困っております。
問題文で構造体のポインタを用いるとの指定がありましたので、それに従っているつもりですが、
*をとる?という読めるエラーが出てしまいます。
また、その他のエラーに関してもどう対応してよいのか困っております。
どなたかお時間がありましたら、アドバイス頂けると幸いです。
【問題分】
以下の表は、あるクラスのテストの成績を示す票である。この生徒情報を構造体として作成し、それぞれの科目の平均点を構造体のポインタを用いて求めなさい。
学生番号 国語 算数 理科 社会 英語
1001 82 43 53 84 45
1002 92 83 88 79 99
1003 43 32 53 45 66
1004 72 73 71 68 59
1005 99 72 82 91 94
この時、以下の構造体を作成し、利用すること。
【student_data:学生の番号と、点数のデータを保存する構造体 】
typdef struct{
int id; // 学生番号
int kokugo; // 国語の点数
int sansu; // 算数の点数
int rika; // 理科の点数
int shakai; // 社会の点数
int eigo; // 英語の点数
}student_data;
【期待される実行結果】
国語 平均 = 77.60
数学 平均 = 60.60
理科 平均 = 69.40
社会 平均 = 73.40
英語 平均 = 72.80
【私が作成してビルドした結果】
*** Build of configuration Debug for project probex6-4 ****
**** Internal Builder is used for build ****
gcc -O0 -g3 -Wall -c -fmessage-length=0 -o main.o ..\main.c
..\main.c:19: error: syntax error before '*' token
..\main.c:68: error: syntax error before '*' token
..\main.c: In function `Avarage':
..\main.c:75: error: `data' undeclared (first use in this function)
..\main.c:75: error: (Each undeclared identifier is reported only once
..\main.c:75: error: for each function it appears in.)
..\main.c:77: error: `ave' undeclared (first use in this function)
Build error occurred, build is stopped
Time consumed: 203 ms.
【私が作成したソース】
#include <stdio.h>
typedef struct{
int id;
int kokugo;
int sansu;
int rika;
int shakai;
int eigo;
}student_data;
void Avarage(student_data *data,*ave);
int main(void){
student_data data[5];
double ave[5];
data[0].id = 1001;
data[1].id = 1002;
data[2].id = 1003;
data[3].id = 1004;
data[4].id = 1005;
data[0].kokugo = 82;
data[1].kokugo = 92;
data[2].kokugo = 43;
data[3].kokugo = 72;
data[4].kokugo = 99;
data[0].sansu = 43;
data[1].sansu = 83;
data[2].sansu = 32;
data[3].sansu = 73;
data[4].sansu = 72;
data[0].rika = 53;
data[1].rika = 88;
data[2].rika = 53;
data[3].rika = 71;
data[4].rika = 82;
data[0].shakai = 84;
data[1].shakai = 79;
data[2].shakai = 45;
data[3].shakai = 68;
data[4].shakai = 91;
data[0].eigo = 45;
data[1].eigo = 99;
data[2].eigo = 66;
data[3].eigo = 59;
data[4].eigo = 94;
Avarage(data,ave);
printf("国語 平均 = %4.2f\n 数学 平均 = %4.2f\n 理科 平均 = %4.2f\n 社会 平均 = %4.2f\n 英語 平均 = %4.2f\n", ave[0],ave[1],ave[2],ave[3],ave[4]);
return 0;
}
void Avarage(student_data *data,*ave){
int i;
int sum = 0;
for(i=0;i<5;i++){
sum = sum + data[i]->kokugo;
}
ave[0] = sum / 5;
sum = 0;
for(i=0;i<5;i++){
sum = sum + data[i]->sansu;
}
ave[1] = sum / 5;
sum = 0;
for(i=0;i<5;i++){
sum = sum + data[i]->rika;
}
ave[2] = sum / 5;
sum = 0;
for(i=0;i<5;i++){
sum = sum + data[i]->shakai;
}
ave[3] = sum / 5;
sum = 0;
for(i=0;i<5;i++){
sum = sum + data[i]->eigo;
}
ave[4] = sum / 5;
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> 【私が作成したソース】
の12行下、
> void Avarage(student_data *data,*ave);
第2引数の*aveの型が指定されていません。
関数の本体の方も同様です。
なるほどですね。
ありがとうございます。
何度も申し訳ないのですが、
形を宣言しビルドすると、以下のようなエラーでてきました。
もし可能であればアドバイス頂けたら幸いです。
**** Build of configuration Debug for project probex6-4 ****
**** Internal Builder is used for build ****
gcc -O0 -g3 -Wall -c -fmessage-length=0 -o main.o ..\main.c
..\main.c: In function `Avarage':
..\main.c:75: error: invalid type argument of `->'
..\main.c:81: error: invalid type argument of `->'
..\main.c:87: error: invalid type argument of `->'
..\main.c:93: error: invalid type argument of `->'
..\main.c:99: error: invalid type argument of `->'
Build error occurred, build is stopped
Time consumed: 218 ms.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# (C言語・配列)date[i]の分散を計算する場合 2 2022/07/24 15:06
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
C言語でのLinuxとwindows共通の...
-
C言語の勉強しています。すみま...
-
printfの%eで指数部分の桁数を...
-
エクセルVBA:日付データの変換...
-
テキストファイルの結合について
-
PINVOKEで構造体配列をマーシャ...
-
パイプを用いたプロセス間通信...
-
reallocでうまくメモリを拡張出...
-
C言語
-
構造体のソートの方法について...
-
結城未来さんの年齢
-
C++/CLIのオブジェクト型配列
-
【Excel VBA】10進数を2進数に...
-
この花の名前を教えてください。
-
c言語での wavファイルの編集(...
-
H8/36064のAD変換データの文字...
-
「1TB」のHDDに日本語は何字入...
-
char str[256]の256の意味は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
エクセルVBA:日付データの変換...
-
linuxのシェルでファイル名に先...
-
int型(2バイト)データの分割
-
【Excel VBA】10進数を2進数に...
-
C#でのswitch文
-
データの値の近いものをグルー...
-
C言語 ファイル内のデータと入...
-
C言語の構造体にてバブルソート...
-
10個の実数に対する降順ソート...
-
'dataType' 引数を Null にする...
-
matlabのソースコードをpython...
-
c言語での wavファイルの編集(...
-
C言語の勉強しています。すみま...
-
テキストファイルの結合について
-
C言語についてです! 同じ年の...
-
Cのプログラムがどうしても動き...
-
matlabでのRRI検出
おすすめ情報