teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

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

2021/06/13 12:13

投稿

musui_etano-ru
musui_etano-ru

スコア0

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
- に書かれている値初期値1にしたいです。
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

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

2021/06/13 12:13

投稿

musui_etano-ru
musui_etano-ru

スコア0

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,9 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  言語はc++です。
4
+ コード1番、
4
- コード1番、VendingMachine1(int numOfCoin1, int numOfCoin2, int numOfCoin3, int numOfCoin4); に書かれている値の初期値を1にしたいです。
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
- 5~7行目の方法で初期値を設定しようとしました。
78
+ と記入し、初期値を設定しようとしました。
73
79
  これは初期化する方法が根本的に違うのでしょうか、それとも、何か書き忘れているのでしょうか。
74
80
 
75
81
  ### 補足情報(FW/ツールのバージョンなど)