none
C++2008 サイコロゲーム

    全般的な情報交換

  • Visual C++ 2008 Expressの本に書いてあるサイコロゲームを作っています。

    書いてある通りに作っているのですがなぜかビルドエラーが出ます(><)

    今変数のところらへんで悩んでいます。(奇数だを選択して勝負開始を押したら変数diceNumberの値は1ですと出るはずですが出てきません。だけど奇数が選択されましたは出ます)

    このまま進んでいいのでしょうか?

    できれば、完成したプログラムをみせていただきたいです

    • 種類を変更済み 山本春海Moderator 2011年12月28日 8:01 改めて質問されるということでステータスを変更しました。
    2011年12月24日 12:31

すべての返信

  • この質問を第三者が見て、答えられるものになっているが、自分自身で一度読み直してください。

    必要な情報が全然足りていませんので、回答できることはありません。
    (再現できるコードを示していない、エラーの具体的な情報を明示しない、コーディングの指針を尋ねているのにそれに関わる情報を開示しない、判断できる情報を示さないのに判断の妥当性を尋ねる、要求不詳な状態で完成品を求めるなど)

    ML とフォーラムは違いますが、以下のページを一度読んでいただければ、何か見えてくるかもしれませんね。
    http://www.hyuki.com/writing/techask.html

    # プログラムを作ってくださいというお願いは、「仕事」です。
    # そういった仕事を請け負うところとか、マンツーマンで教えてくれるところに通うとかしてください。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年12月24日 15:29
    モデレータ
  • ビルドエラー
    2011年12月25日 2:52
  • ビルドエラーが出るならプログラムは動きません。

    ビルドエラーがでるのかプログラムが想定通りに動かないのか正確に書いてください。

    このまま進んでいいのでしょうか?

    とりあえずプログラミングの勉強は置いておいて、Azulean さんが紹介しているサイトでものの尋ね方を勉強なさってください。

    それと、あなたが今書いているのは C++ ではなく C++/CLI という別の言語です。できれば C++ でも C++/CLI でもなく、 C 言語のコンソールアプリケーションを先に勉強したほうがいいかもしれません。

     

    ちなみにあなたのこの二つの投稿はこういうことをしています。

    ---

    中学生1年生が高校生の参考書を見ながら見ず知らずの人に電話で「手元にある参考書の2番目の問題がわかりません。式と答えを教えてください。」と言う。

    「問題文もなにも言わないで教えられるわけがない」と言われて、2ページに渡って書いてある問題文の1ページ目だけを誤字脱字をしながら丸写しして提示。



    • 編集済み galaco 2011年12月25日 5:19
    2011年12月25日 4:55
  • エラーの詳細が結局書かれていないので、現状の情報から何が悪いかを判断するためには、このコードを貼り付けてビルドするか、問題がないか精査する必要があり、回答者の負担が大きいと思います。

    効率よく情報をもらうためには、質問する側も工夫が必要です。
    どのような工夫が必要かは、先ほどのリンク先のページを読むことに何か得られるはずですので、ぜひ一度お読みください。

    # 私の括弧書き内の「再現できるコード」の部分しか読まれていない?
    # まだまだ全然足りません。(部分的には過剰かもしれない)


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年12月25日 14:30
    モデレータ
  • 外池と申します。本質的なことでは無いのですが、気になった点をひとつだけ。

    提示されているプログラムは、書籍に書かれているプログラムですよね? だとすれば、転載していることになりませんか?

    もし、初心者プログラマーさんが、ご自身で工夫されて書かれているプログラムなら良いのですが。


    (ホームページを再開しました)
    2011年12月25日 16:02
  • 「ビルド エラー」というのは、実行ファイルを作るために「ビルド」という行為を行うときに発生するエラーなので、「奇数だを選択して勝負開始を押したら変数diceNumberの値は1ですと出るはずですが出てきません。だけど奇数が選択されましたは出ます」のような、実行状態を示すことは出来ないはずです。

    「奇数だを選択して勝負開始を押したら変数diceNumberの値は1ですと出るはずですが出てきません。だけど奇数が選択されましたは出ます」ということですが、変数 diceNumber には1以上7未満の実数の乱数を整数に変換した値が入る様にプログラムされています。従って「変数diceNumberの値は1です」とでるとは限りません。
    ところが、実行すると、必ず同じ値が出ると思います。それは、乱数表を使用するために初期化していないからです。

    コードの中に「//ここから先が自分では間違っていると思います!!」と書かれていますが、間違っていると思う根拠は何でしょうか。
    本文中に書いてある、「このまま進んでいいのでしょうか?」という問いに関する注釈ではないようです。また、この問いの関しては、答えられません。何を目指しているのか、説明がないのでわからないからです。
    「どこがおかしいのか教えていただきたいです。」という問いに関しては、何をおかしいと思っていらっしゃるのかわからないので、答えられません。
    もしかして、カッコ内の「奇数だを選択して勝負開始を押したら変数diceNumberの値は1ですと出るはずですが出てきません。だけど奇数が選択されましたは出ます」が、主な質問でしょうか。通常、カッコは補足的に用いるので、カッコの中に主文を書くと、読み飛ばされる恐れがあります。しかし、これになら答えられます。「奇数、または偶数に限る」というコードが書かれていません。
    これを行うには、サイコロは「1~6」ですから、「0~2」の乱数を発生させ、2倍して+1して整数化すれば奇数になります(2n+1 は奇数)。+2すれば偶数(2n または 2n+2 は偶数)。もっとも、「1~6」の乱数を発生させ、「奇数、または偶数になるまでやり直す」という方法もあります。そういうコードを書いて下さい。

    なお、書籍から引用するときは、「Visual C++ 2008 Expressの本」ではなく、書籍の正式なタイトル(書籍名を記載するときは二重カギ括弧ですよ)、出版社名、著者名と、ページ番号を記載していください。出来れば、出版社の紹介ページへのリンクを張って下さい。出版社のページに正誤表が掲載されていることもありますから、探しておくと良いでしょう。


    Jitta@わんくま同盟
    • 編集済み Jitta 2011年12月26日 11:44
    2011年12月26日 11:34
  • 答えてくれた皆さんありがとうございました。

    自分のプログラムについての質問の仕方が全然だということを痛感しました。

    なのでもう少し自分なりにプログラムについて調べてみようと思います。

    また今度わからないことがあったら質問したいと思います。

    2011年12月26日 12:54
  • 「自分のプログラムについての質問の仕方が全然だということを痛感しました。」

    どこが、全然だったのでしょう?どうすればいいと思うのでしょう?そういうことを整理しておきましょう。また、「質問の仕方が全然(ダメ)」なのに、「プログラムについて調べて」みるのは、それは見当違いだと思います。

    それから、せめて、書名くらいは教えて下さい。もし、ここに書かれていたとおりのコードが掲載されていたのなら、機能を実装していないのに実装しているように書いている、ということです。それは明らかなバグですので、出版社に連絡して直してもらわなければなりません。


    Jitta@わんくま同盟
    2012年1月4日 12:20