dポイントプレゼントキャンペーン実施中!

名前(char name[20]),年齢(intage),身長(double height),体重(double weight)の4つのメンバを持つ構造体であるperson型を宣言し,以下のようなプログラムを作成せよ.
1.1つの構造体変数を宣言し,それぞれのメンバの値を入力させ表示する.
2.構造体person型の配列を作成し,3人分のデータを入力して表示する.
3.BMIを求める関数double bmi(person *p) を作成し,入力した3人分のデータからそれぞれのBMIを求め表示する.
BMIとはBody Mass Indexのことで肥満度を表す指数
体重をw(kg),身長をt(m)とすると,BMI = w/t2

解答お願いします。

A 回答 (2件)

宿題の丸投げですかね。



C言語には入出力の概念がありませんから1、2,3ともに作成不能ですね。
    • good
    • 1

#include <stdio.h>



struct psrson
{
char name[10];
int age;
double height;
double waight;
};

struct prson getData()
{
struct person wk;

printf("データを入力してください\n");
printf("名前:");
scanf("%s", wk.name);
printf("年齢:");
scanf("%d", &wk.age);
printf("身長:");
scanf("%lf", &wk.height);
printf("体重:");
scanf("%lf", &wk.waight);

return wk;
}

void print(struct person value)
{
printf("--------------------------\n");
printf("名前:%s\n", value.name);
printf("年齢:%d\n", value.age);
printf("身長:%f\n", value.height);
printf("体重:%f\n", value.waight);
}

double bmi(struct person *p)
{
return (p->waight / p->height / p->height);
}

/* 問1 */
int main()
{
struct person aPerson = getData();
print(aPerson);
return 0;
}

/* 問2 */
int main()
{
struct person three_person[3];
int i;

for(i = 0; i < 3; three_person[i++] = getData());
for(i = 0; i < 3; print(three_person[i++]));
return 0;
}

/* 問3 */
int main()
{
struct person three_person[3];
int i;

for(i = 0; i < 3; three_person[i++] = getData());
for(i = 0; i < 3; i++)
{
printf("------------------------------------\n");
printf("名前: %s\n", three_person[i].name);
printf("BMI: %f\n", bmi(&three_person[i]);
}
return 0;
}

何となく書いてみたかったので。
でも、未確認です。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!