①の箇所に引数をstProfile構造体として、そのメンバ値(身長と体重)からBMI値を計算して、それを戻り値とする関数を定義すること。②の箇所にBMIを計算する関数を呼び出す処理を書く。また、profList[i].BMIへ関数の戻り値を代入すること。
この問題が分からないです。
コード#include<stdio.h> #define PROF_NUM (2) // 人物情報の総数 typedef struct { char name[1024]; // 名前 int age;// 年齢 double weight; // 体重kg double height; // 身長cm double BMI; // BMI }stProfile; // 構造体の定義と別名の定義 // ①引数をstProfile構造体として、そのメンバ値(身長と体重)からBMI値を計算して、それを戻り値とする関数 // 関数の定義をここに書く int main(void) { // 構造体の宣言と初期化 stProfile profList[PROF_NUM]; for (int i = 0; i < PROF_NUM; i++) { // 構造体配列profListの各メンバ(.BMI以外)の入力 printf("氏名を入力:"); scanf_s("%s", profList[i].name, 1023); // 文字列nameの場合は&は不要 printf("年齢、体重[kg]、身長[cm]をコンマ区切りで入力(例:20,60.0,170.0):"); scanf_s("%d, %lf, %lf", &profList[i].age, &profList[i].weight, &profList[i].height); } printf("\n人物情報一覧\n"); for (int i = 0; i < PROF_NUM; i++) { // ②BMIを計算する関数をここで呼び出す。 // 関数の呼び出しをここに書いて、profList[i].BMIへ関数の戻り値を代入する。 // 構造体配列profListの各メンバの出力 printf("氏名:%s\n年齢:%d歳\n体重:%5.1f\n身長:%5.1f\nBMI:%5.1f\n-------\n", profList[i].name, profList[i].age, profList[i].weight, profList[i].height, profList[i].BMI); } return 0;
回答2件
あなたの回答
tips
プレビュー