次の仕様でクラスを作成し、main関数で動作させてみましょう。
自動車クラス
クラス名:MyCar
メンバー変数private
・名前
・車幅
・車長
・車高
・走行距離
メンバー関数 public
・MyCarのコンストラクタ(メンバー変数の初期値をセットする)
・走行関数(走行距離を加算)
・車のスペック(メンバー変数の値)を表示する関数
・その他 もし、必要なメンバー変数、メンバー関数があれば
追加しなさい。
main関数の動作
1.車の初期情報を入力する。
2.車のスペック情報(メンバー変数の値)を表示する。
3.走行距離を繰り返し入力できるようにする。
例:「走りますか[0…NO/1…YES]」
yesの場合
「何キロ :?」 (何キロ走るか走行距離を入力できるようにする)
↓
入力された数値を
走行距離に加算してゆく
↓
「今までの走行距離は、合計で です。」(走行距離の合計を画面に表示する)
noの場合
繰り返しを終了しプログラムを終了する。
如何でしょうか。少し自分でノートやメモに書いてみましょう。
以下、模範解答です。明確な答えはありませんので、あくまでも、
クラスを組み立てるまでのイメージです。どうぞ、みなさん好みの車を作ってみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
#include <iostream> #include <string> using namespace std; class MyCar { private: string name; int haba; int naga; int taka; int p; //距離 public: MyCar(string n,int i,int i2,int i3,int k); void setname(string n); void setspec(int i,int i2,int i3); void set_p(int k); int get_p(); void add(int k); void disp(); void disp_p(); }; //----------------------------------------- MyCar::MyCar(string n,int i,int i2,int i3,int k) { name = n; p = k; if (i < 0) haba = 0; else haba = i; if (i2 < 0) naga = 0; else naga = i2; if (i3 < 0) taka = 0; else taka = i3; if (k < 0) p = 0; else p = k; } //---------------------------------------------- void MyCar::setname(string n) { name = n; } //------------------------------------------- void MyCar::setspec(int i,int i2,int i3) { if (i < 0) haba = 0; else haba = i; if (i2 < 0) naga = 0; else naga = i2; if (i3 < 0) taka = 0; else taka = i3; } //--------------------------------------------- void MyCar::set_p(int k) { if (k < 0) p = 0; else p = k; } //----------------------------------- void MyCar::add(int k){ p = p + k; } //---------------------------------------- int MyCar::get_p() { return p; } //------------------------------------- void MyCar::disp() { cout << "名前=" << name << '\n'; cout << "車幅=" << haba << '\n'; cout << "車長=" << naga << '\n'; cout << "車高=" << taka << '\n'; cout << "距離=" << p << '\n'; cout << '\n'; } void MyCar::disp_p() { cout << "距離=" << p << '\n'; } //---------------------------------------------------- int main() { MyCar dt("ひかり", 100, 200, 150, 2000); dt.disp(); int k; char y; //----------------------------------------------------- while(true){ cout << "現在の走行距離は " << dt.get_p() << "です" << '\n'; cout << "走行距離を入力してください。 \n"; cin >> k; cout << "まだ走りますか(Y or N)" << '\n'; cin >> y; if(y == 'y'){ dt.add(k); } cout << dt.get_p() << "←こんなに走ってますけど" << '\n'; cout << "ほんとにはしります??\n"; cin >> y; if(y != 'y'){ break; } } return 0; } |
メルマガ登録をお願いします。
素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。