「クラスを用いた摂取カロリー計算プログラム」を作成せよ。
但し、下記の仕様を満たすこと。
- メンバ変数は非公開とし、名前、身長、体重、年齢、性別、摂取カロリー、の変数を含むこと。この他にもメンバ変数が必要な場合は追加してもよい。
- メンバ関数には、名前、身長、体重、年齢、性別、をセットおよびその値を返す関数、摂取カロリーを計算する関数を含むこと(下記の摂取カロリーの目安の計算を参照)。この他にもメンバ関数が必要な場合は追加してもよい。
- 名前は任意の長さの文字列を指定できるようにすること。
- 名前は無記名にも対応すること(cf. デフォルト引数)。
- コンストラクタ、デストラクタを使用すること。
- 実行結果として、名前、身長、体重、年齢、性別、現在の摂取カロリーの目安、理想体重における摂取カロリーの目安、を表示すること。
- 理想体重はBMI値を22として計算すること(下記のBMI値を参照)。
- クラスのオブジェクト(インスタンス)を複数個作成し、結果を表示すること。
- ヒント:実行結果を表示するための関数(またはメンバ関数)を用意するとよい。
- クラスの定義は、ヘッダファイルに記述すること(勿論、クラスの実現部は別ファイルにする)。
摂取カロリーの目安の計算
まず、基礎代謝量をハリス-ベネディクトの式より求める。本課題で用いる計算式は次の通りとする。計算した基礎代謝量に基づき、摂取カロリーの目安を「基礎代謝量〜基礎代謝量÷0.6」とする。
- 男性: 基礎代謝量=66+13.7×体重(kg)+5.0×身長(cm)−6.8×年齢(歳)
- 女性: 基礎代謝量=665+9.6×体重(kg)+1.7×身長(cm)−7.0×年齢(歳)
BMI値
BMI値は、(体重 kg)/(身長 m×身長 m)によって計算される値である。
この値によって以下のような判定となる。
表1 : BMIと肥満の判定
判定 やせ 普通 肥満肥満度1 肥満度2 肥満度3 肥満度4 BMI値 18.5未満 18.5以上25未満 25以上30未満 30以上35未満 35以上40未満 40以上 BMIの理想値は22で、この値のとき最も病気になりにくいとされています。
オブジェクト指向プログラミングについて調べ、具体的な例を挙げるなどして、どのような概念かを1000字以上で述べよ。
int型の整数のみを扱うスタックを実現するクラスを作成せよ。ただし、下記の条件を満足すること。
- スタックのサイズはユーザが指定することができるようにする(コンストラクタを使う)。また、サイズの指定がなかった場合は、自動的にサイズを10(デフォルト値)とすること。スタック領域の確保はnew演算子を用いて動的に確保すること。
- メンバ変数には、最大要素数、スタックの先頭要素の索引、値を格納するスタック、の3つのを用いること。
- メンバ関数には、コンストラクタ(2つあってもよい)、デストラクタ、プッシュ void Push(int value)、ポップ int Pop(void) を用いること。
- スタックのオーバフロー、アンダーフローがあった場合についても考慮すること。
- クラスの定義はヘッダで行い、メンバ関数の実体は、別のファイルに記述すること。
さらにクラスの利用した例のファイルも作成すること。- クラスの利用例には、スタックのオーバフロー、アンダーフローがある場合と、ない場合の両方の例を示すこと。