質問編集履歴
2
大幅に文章を変更しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
3
|
言語はc++です。
|
4
|
-
コード1番、
|
5
|
-
VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
|
6
|
-
|
4
|
+
学校での課題で、自動販売機のシュミレートをする内容です。
|
5
|
+
1つ目のコードはあらかじめ出されたもので、このコードをもとに2つ目のコードを記入し、動かしてみようという内容でした。
|
7
6
|
|
7
|
+
やりたいこととしては、釣り銭が各種1枚ずつしか入っていない状態を(VendingMachine1クラスのコンストラクターを使って)初期状態になるようにしたいです。
|
8
8
|
|
9
|
+
実践したことに詳しく書きますが、私の行った方法が何かが足りないのか、それとも根本的にやり方が違うのかもわかりません。
|
10
|
+
|
11
|
+
|
9
12
|
### 発生している問題・エラーメッセージ
|
10
13
|
|
11
14
|
```
|
@@ -24,24 +27,25 @@
|
|
24
27
|
using namespace std;
|
25
28
|
class VendingMachine1 {
|
26
29
|
private:
|
27
|
-
vector<string> goodsNames;
|
30
|
+
vector<string> goodsNames; // 販売品名称 (現バージョンでは固定)
|
28
|
-
vector<int> prices;
|
31
|
+
vector<int> prices; // 価格 (現バージョンでは固定)
|
29
|
-
int numGoods;
|
32
|
+
int numGoods; // 販売品数(何種類の販売品か)(現バージョンでは固定)
|
30
|
-
int payed;
|
33
|
+
int payed; // 投入額の保存用(釣り銭計算のため)
|
31
|
-
map<int,int> coins;
|
34
|
+
map<int,int> coins; // 保持しているコインの種類と数(数は設定可能)
|
32
|
-
void calc(int sel);
|
35
|
+
void calc(int sel); // 販売品番号を受け取り prices とpayed からおつりとして出すコインを計算し表示する。
|
33
36
|
public:
|
34
|
-
VendingMachine1();
|
37
|
+
VendingMachine1(); // コンストラクタ
|
35
38
|
VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
|
39
|
+
// コイン残数を設定 1:500Yen 2:100Yen 3:50Yen 4:10Yen
|
36
40
|
VendingMachine1(int numOfCoins[4]);
|
41
|
+
// コイン残数を設定 [0]:500Yen [1]:100Yen [2]:50Yen [3]:10Yen
|
37
|
-
void showPrices();
|
42
|
+
void showPrices(); // 販売品と価格を表示する
|
38
|
-
void setPayed(int val);
|
43
|
+
void setPayed(int val); // 投入額を val として渡し payedに設定する
|
39
|
-
int selectGoods();
|
44
|
+
int selectGoods(); // 販売品の選択するように表示し,販売品の番号を受け取って返す。calcを呼び出しおつりの計算をして表示する。
|
40
|
-
void showCoins();
|
45
|
+
void showCoins(); // チェック用,コインの残数を表示する。
|
41
46
|
};
|
42
47
|
|
43
48
|
#endif
|
44
|
-
|
45
49
|
```
|
46
50
|
|
47
51
|
### 該当のソースコード
|
@@ -70,13 +74,14 @@
|
|
70
74
|
```
|
71
75
|
|
72
76
|
### 試したこと
|
73
|
-
|
77
|
+
1番目のコードで
|
78
|
+
VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
|
79
|
+
に書かれている値の初期値を1にしたいため、
|
74
|
-
|
80
|
+
2番目のソースコードで、
|
75
81
|
VendingMachine1::VendingMachine1(){
|
76
82
|
int numOfCoin1, numOfCoin2, numOfCoin3, numOfCoin4 = 1;
|
77
83
|
}
|
78
84
|
と記入し、初期値を設定しようとしました。
|
79
|
-
これは初期化する方法が根本的に違うのでしょうか、それとも、何か書き忘れているのでしょうか。
|
80
85
|
|
81
86
|
### 補足情報(FW/ツールのバージョンなど)
|
82
87
|
|
1
試したことをより詳細に記入しました。言葉足らずですみませんでした。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
3
|
言語はc++です。
|
4
|
+
コード1番、
|
4
|
-
|
5
|
+
VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4);
|
6
|
+
に書かれている値の初期値を1にしたいです。
|
5
7
|
|
6
8
|
|
7
9
|
### 発生している問題・エラーメッセージ
|
@@ -69,7 +71,11 @@
|
|
69
71
|
|
70
72
|
### 試したこと
|
71
73
|
|
74
|
+
二番目のソースコードで、
|
75
|
+
VendingMachine1::VendingMachine1(){
|
76
|
+
int numOfCoin1, numOfCoin2, numOfCoin3, numOfCoin4 = 1;
|
77
|
+
}
|
72
|
-
|
78
|
+
と記入し、初期値を設定しようとしました。
|
73
79
|
これは初期化する方法が根本的に違うのでしょうか、それとも、何か書き忘れているのでしょうか。
|
74
80
|
|
75
81
|
### 補足情報(FW/ツールのバージョンなど)
|