0

これは私が取り組んでいる小さなコイントスプログラムです。関数promptUser()から変数を渡そうとしています。フリップコイン(); 。main関数内にローカル変数を作成できることは知っていますが、プロンプトを関数に編成したいと思います。

promptUser()からflipCount値を渡す方法はありますか?フリップコイン();への関数 働き?

私はこれを行う方法を探してグーグルにしばらく時間を費やしました(方法がある場合)が、私が正しくやろうとしていることを表現することができないと思います、またはこれはちょうどそれがそうである方法ではありません終わり。しかし、私が何を達成しようとしているのか、なぜ私がこのようにすべきではないのかを誰かが理解しているなら、私はアドバイスをいただければ幸いです。ありがとう

#include <iostream>
#include <cstdlib>
#include <time.h>

// function prototype
void promptUser();
void flipCoin(time_t seconds);

// prefix standard library
using namespace std;

const int HEADS  = 2;
const int TAILS = 1;

int main(){

    time_t seconds;
    time(&seconds);
    srand((unsigned int) seconds);

    promptUser();
    flipCoin(seconds);
    return 0;
}

void promptUser(){
    int flipCount;
    cout << "Enter flip count: " << endl;
    cin >> flipCount;
}

void flipCoin(time_t seconds){
    for (int i=0; i < 100; i++) {
        cout << rand() % (HEADS - TAILS + 1) + TAILS << endl;
    }
}
4

1 に答える 1

2

に戻っflipCountmainmain引数としてに渡しますflipCoin

int main() {
  // ...
  // Get the flip count from the user
  int flipCount = promptUser();
  // Flip the coin that many times
  flipCoin(seconds, flipCount);
  // ...
}

int promptUser() {
  int flipCount;
  cout "Enter flip count: " << endl;
  cin >> flipCount;
  // Return the result of prompting the user back to main
  return flipCount;
}

void flipCoin(time_t seconds, int flipCount) {
  // ...
}

担当していると考えてくださいmain。最初mainの注文「フリップの数をユーザーに促します!」そして、promptUser関数はそれが言われたように動作し、メインに戻るフリップの数を与えます。次にmain、「ユーザーが何回フリップしたいかがわかりました...コインを何度もフリップしてください!」と言います。その番号をに渡してflipCoin仕事を遂行します。

main              promptUser      flipCoin
  |                   :               :
  |------------------>|               :
    "How many flips?" |               :
                      |               :
  |<------------------|               :
  |         3         :               :
  |                   :               :
  |---------------------------------->|
        "Flip the coin 3 times!"      |
                      :               |
  |<----------------------------------|
  |        <void>     :               :
  V
 END
于 2012-11-27T22:46:18.860 に答える