• ベストアンサー

学生です。宿題のプログラムについてヒントお願いします。

今年、C++を始めた専門学生です。 学校で「じゃんけんプログラム」を作れという宿題が出ました。 その内容は、コマンドプロンプト上で 「5回じゃんけんをして、多く勝った方を『勝ち』と表示する」という物です。 「ポインタと構造体を使え」とのことですが 先生に何度か聞いたのですが 結局、良くわかりませんでした。 僕はアルゴリズムの理解度が曖昧だそうです。 自分ではアルゴリズムもそうですが 書き方の時点でも良くわかってないと思います。 ポインタも、構造体も、いまいち良くわかっていません。 プロトタイプ宣言も、どこに書けばよいのか・・ 他のクラスメイトは出来ているようなので、今更先生に聞けなくて フローチャートは書いてみたものの 書き方が全く思うように行かず、エラーが出て焦っています。 初歩的すぎて難しい質問かもしれませんが どなたかご享受願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • kb-nike
  • ベストアンサー率36% (72/200)
回答No.3

完全な答えは、本1冊書くようなことになるので、部分的に、且つ感覚的に…。 ポインタ: 変数が置かれている場所を指す変数(ポインタ=指すもの)。(配列、構造体の場合は先頭の位置を指す。) ポインタが指す場所に値を置けば、変数に値を代入したことになります。 構造体: 型の異なる(同じでも良いが)変数の集まり。「構造体名.変数名」と言う形で取り扱う。ポインタを使ったときは「ポインタ->変数名」の形で表記する。 配列: 同じ型の変数の集合で要素は「配列名[番号]」で取り扱う。ポインタを使えば要素は「ポインタ+番号」の形で表記されます。 プロトタイプの位置: 関数の外(グローバル領域)に置く。 C時代の名残と見やすさのためにファイルの上の方にまとめて書けばよい。 (インクルードファイル(*.hファイル)があればその中でも良い。) (ただし、多分まだ「クラス」は使っていないでしょうが、クラスのメンバ関数はクラス宣言の中に置く。) C++に限らず、プログラミングは理論を学ぶだけではなく、簡単なサンプル・コードを手入力してコンパイル、実行することから始めて、徐々に自前のコードを追加して、結果を見ることで面白さも感じるようになると思います。 頑張ってください。

その他の回答 (2)

  • yukimican
  • ベストアンサー率70% (112/159)
回答No.2

とりあえず、あなたが思い浮かべている処理の手順をできるだけ細かく書いてみてください。 それを元にして、必要な変数、定数、処理を書き出していけばOKです。 ----------------------------------------------- 例:ハイ&ローのプログラム(簡易版)  1~13の範囲で、最初に出てきた数字が2回目に出されるものより  大きいか小さいかを当てる。同じだったら無条件でハズレ。 ・処理の手順:  1. 1~13の間からランダムな数値を取得し、変数firstに保存  2. firstの内容を表示  3. HIGH/LOWの選択をキーボードから入力し、変数judgeに保存   * 入力結果が不正ならエラー終了  4. 1~13の間からランダムな数値を取得し、変数secondに保存  5. secondの内容を表示  6. judgeの値を元にfirstとsecondを比較   - judgeの内容がHIGH → (first > second) の比較結果を変数resultに保存   - judgeの内容がLOW → (first < second) の比較結果を変数resultに保存  6. resultの値を判定   - true: プレイヤーの勝ち   - false: プレイヤーの負け ・実行例:  $ ./a.out  1番目の数字 = 6  HIGH & LOW ?(HIGH = 1, LOW = 2): 1  2番目の数字 = 3  あなたの負け。ざんねんっ  $ ./a.out  1番目の数字 = 10  HIGH & LOW ?(HIGH = 1, LOW = 2): 2  2番目の数字 = 7  あなたの勝ち。おめでとー ------------------------------------------------

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★回答ではなくアドバイスです。 ・下の『参考URL』をどうぞ。→『苦しんで覚えるC言語』 参考:  第1部:C言語基礎編   2.プログラムの書き方    1.書き方のルール→『http://homepage3.nifty.com/mmgames/c_guide/02-01.html』  をどうぞ。以上。おわり。

参考URL:
http://homepage3.nifty.com/mmgames/c_guide/index.html

関連するQ&A

専門家に質問してみよう