ここから本文です

構造体について質問です

kns********さん

2009/12/1521:05:29

構造体について質問です

//構造体の関数

strut Student
{
double shinchou;//身長
double taiju;//体重
double shiryoku[2];//両目の視力
int chouryoku[2];//両耳の聴力
int mushiba; //虫歯の本数
};


//健康診断結果をまとめて出力するプログラム

int displayStudent(void)
{
printf("身長は%fです。\n",shinchou);
printf("体重は%fです。\n",taiju);
printf("右目の視力は%fです。\n",shiryoku[0]);
printf("左目の視力は%fです。\n",shiryoku[1]);
printf("左聴力は%d正常です。\n",chouryou[0]);
printf("右聴力は%d正常です。\n",chouryku[1]);
};

//健康診断結果を代入する
#include<stdio.h>
#include"myfunc.h"

int displayStudent(void);
int main(void)
{
struct Student suzuki;

suzuki.shinchou = 153.6; //身長を153.6に設定
suzuki.taiju = 52.1; //体重は52.1kg
suzuki.shiryoku[0] = 1.0; //視力。右は1.0
suzuki.shiryoku[1] = 1.2;//左は1.2
suzuki.chouryku[0] = 1; //聴力左右ともに正常
suzuki.chouryku[1] = 1;
suzuki.mushiba = 3; //虫歯が3本あります

displayStudent(suzuki); //それらのデータを出力

return 0;
}

上記のように入力するとエラーがたくさん出ます
どうすればdisplayStudentに構造体を分からせることができますか?
教えてくださいよろしくお願いします。

閲覧数:
134
回答数:
2

違反報告

ベストアンサーに選ばれた回答

k03********さん

2009/12/1521:26:09

knsdf859さん

struct Student
{
double shinchou;//身長
double taiju;//体重
double shiryoku[2];//両目の視力
int chouryoku[2];//両耳の聴力
int mushiba; //虫歯の本数
};
//健康診断結果をまとめて出力するプログラム
void displayStudent(Student *p)
{
printf("身長は%5.1lfです。\n",p->shinchou);
printf("体重は%5.1lfです。\n",p->taiju);
printf("右目の視力は%5.1lfです。\n",p->shiryoku[0]);
printf("左目の視力は%5.1lfです。\n",p->shiryoku[1]);
printf("左聴力は%4d正常です。\n",p->chouryoku[0]);
printf("右聴力は%4d正常です。\n",p->chouryoku[1]);
printf("虫歯は%4d本です。\n",p->mushiba);
};
//健康診断結果を代入する

int main(void)
{
Student suzuki;

suzuki.shinchou = 153.6; //身長を153.6に設定
suzuki.taiju = 52.1; //体重は52.1kg
suzuki.shiryoku[0] = 1.0; //視力。右は1.0
suzuki.shiryoku[1] = 1.2;//左は1.2
suzuki.chouryoku[0] = 1; //聴力左右ともに正常
suzuki.chouryoku[1] = 1;
suzuki.mushiba = 3; //虫歯が3本あります
displayStudent(&suzuki); //それらのデータを出力
return 0;
}

ベストアンサー以外の回答

1〜1件/1件中

rmr********さん

2009/12/1721:04:34

まず、displaystudent関数の引数がvoidになってますので、main関数からsuzukiが渡せません。

下記の方のように、ポインタを使用してアロー演算子で出来ます。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる