質問編集履歴

2

大幅に文章を変更しました。

2021/06/13 12:13

投稿

musui_etano-ru
musui_etano-ru

スコア0

test CHANGED
File without changes
test CHANGED
@@ -4,11 +4,17 @@
4
4
 
5
5
  言語はc++です。
6
6
 
7
- ド1番、
7
+ 学校での課題で、自動販売機のシュミレトをする内容です。
8
8
 
9
- VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
9
+ 1つ目のコードはあらかじめ出されたもので、このコードをもとに2つ目のコードを記入し、動かしてみようという内容でした。
10
10
 
11
+
12
+
13
+ やりたいこととしては、釣り銭が各種1枚ずつしか入っていない状態を(VendingMachine1クラスのコンストラクターを使って)初期状態になるようにしたいです。
14
+
15
+
16
+
11
- に書かれてる値初期値を1したいです
17
+ 実践したこと詳しくきますが、私の行った方法が何が足りないのか、それとも根本的やり方が違うのかもわかりません
12
18
 
13
19
 
14
20
 
@@ -50,41 +56,43 @@
50
56
 
51
57
  private:
52
58
 
53
- vector<string> goodsNames;
59
+ vector<string> goodsNames; // 販売品名称 (現バージョンでは固定)
54
60
 
55
- vector<int> prices;
61
+ vector<int> prices; // 価格 (現バージョンでは固定)
56
62
 
57
- int numGoods;
63
+ int numGoods; // 販売品数(何種類の販売品か)(現バージョンでは固定)
58
64
 
59
- int payed;
65
+ int payed; // 投入額の保存用(釣り銭計算のため)
60
66
 
61
- map<int,int> coins;
67
+ map<int,int> coins; // 保持しているコインの種類と数(数は設定可能)
62
68
 
63
- void calc(int sel);
69
+ void calc(int sel); // 販売品番号を受け取り prices とpayed からおつりとして出すコインを計算し表示する。 
64
70
 
65
71
  public:
66
72
 
67
- VendingMachine1();
73
+ VendingMachine1(); // コンストラクタ
68
74
 
69
75
  VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
70
76
 
77
+ // コイン残数を設定 1:500Yen 2:100Yen 3:50Yen 4:10Yen
78
+
71
79
  VendingMachine1(int numOfCoins[4]);
72
80
 
73
- void showPrices();
81
+ // コイン残数を設定 [0]:500Yen [1]:100Yen [2]:50Yen [3]:10Yen
74
82
 
75
- void setPayed(int val);
83
+ void showPrices(); // 販売品と価格を表示する
76
84
 
77
- int selectGoods();
85
+ void setPayed(int val); // 投入額を val として渡し payedに設定する
78
86
 
87
+ int selectGoods(); // 販売品の選択するように表示し,販売品の番号を受け取って返す。calcを呼び出しおつりの計算をして表示する。
88
+
79
- void showCoins();
89
+ void showCoins(); // チェック用,コインの残数を表示する。
80
90
 
81
91
  };
82
92
 
83
93
 
84
94
 
85
95
  #endif
86
-
87
-
88
96
 
89
97
  ```
90
98
 
@@ -142,9 +150,13 @@
142
150
 
143
151
  ### 試したこと
144
152
 
153
+ 1番目のコードで
145
154
 
155
+ VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
146
156
 
157
+ に書かれている値の初期値を1にしたいため、
158
+
147
- 番目のソースコードで、
159
+ 2番目のソースコードで、
148
160
 
149
161
  VendingMachine1::VendingMachine1(){
150
162
 
@@ -154,8 +166,6 @@
154
166
 
155
167
  と記入し、初期値を設定しようとしました。
156
168
 
157
- これは初期化する方法が根本的に違うのでしょうか、それとも、何か書き忘れているのでしょうか。
158
-
159
169
 
160
170
 
161
171
  ### 補足情報(FW/ツールのバージョンなど)

1

試したことをより詳細に記入しました。言葉足らずですみませんでした。

2021/06/13 12:13

投稿

musui_etano-ru
musui_etano-ru

スコア0

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,11 @@
4
4
 
5
5
  言語はc++です。
6
6
 
7
+ コード1番、
8
+
7
- コード1番、VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4); に書かれている値の初期値を1にしたいです。
9
+ VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
10
+
11
+ に書かれている値の初期値を1にしたいです。
8
12
 
9
13
 
10
14
 
@@ -140,7 +144,15 @@
140
144
 
141
145
 
142
146
 
147
+ 二番目のソースコードで、
148
+
149
+ VendingMachine1::VendingMachine1(){
150
+
151
+ int numOfCoin1, numOfCoin2, numOfCoin3, numOfCoin4 = 1;
152
+
153
+ }
154
+
143
- 5~7行目の方法で初期値を設定しようとしました。
155
+ と記入し、初期値を設定しようとしました。
144
156
 
145
157
  これは初期化する方法が根本的に違うのでしょうか、それとも、何か書き忘れているのでしょうか。
146
158