質問編集履歴
2
大幅に文章を変更しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,11 +4,17 @@
|
|
4
4
|
|
5
5
|
言語はc++です。
|
6
6
|
|
7
|
-
|
7
|
+
学校での課題で、自動販売機のシュミレートをする内容です。
|
8
8
|
|
9
|
-
|
9
|
+
1つ目のコードはあらかじめ出されたもので、このコードをもとに2つ目のコードを記入し、動かしてみようという内容でした。
|
10
10
|
|
11
|
+
|
12
|
+
|
13
|
+
やりたいこととしては、釣り銭が各種1枚ずつしか入っていない状態を(VendingMachine1クラスのコンストラクターを使って)初期状態になるようにしたいです。
|
14
|
+
|
15
|
+
|
16
|
+
|
11
|
-
に書か
|
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
|
-
|
81
|
+
// コイン残数を設定 [0]:500Yen [1]:100Yen [2]:50Yen [3]:10Yen
|
74
82
|
|
75
|
-
void s
|
83
|
+
void showPrices(); // 販売品と価格を表示する
|
76
84
|
|
77
|
-
i
|
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
試したことをより詳細に記入しました。言葉足らずですみませんでした。
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,11 @@
|
|
4
4
|
|
5
5
|
言語はc++です。
|
6
6
|
|
7
|
+
コード1番、
|
8
|
+
|
7
|
-
|
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
|
-
|
155
|
+
と記入し、初期値を設定しようとしました。
|
144
156
|
|
145
157
|
これは初期化する方法が根本的に違うのでしょうか、それとも、何か書き忘れているのでしょうか。
|
146
158
|
|