• ベストアンサー

C++Builder

卒業研究で昨日からC++Builderを使うようになったのですが、まったくわかりません。 「慣れれば普通にプログラム作るより簡単だ」と教官はいいいますが… それで昨日課題が出ました。 C++Builderでサイコロを作成し、クリックすれば数字が変わる用にしろ との事。 ずっとやってるのですが…ランダムに数字を表示するのってどうゆうの使うんですか? …もぅ初歩的な質問ですいません… 穴があったら入りたい…

  • parin
  • お礼率52% (58/110)

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

  • ベストアンサー
  • take_four
  • ベストアンサー率100% (3/3)
回答No.3

私もC++ Builderを最近少し触る機会がありましたので、その経験から少し。 (もともとはVisual C++を使ってましたので、初めてBuilderを見たときは  使いにくそうだと思いました。) 私が使用したのはBorland C++Builder Ver.5です。 まず表示は単にサイコロを表示するだけなので、 [ファイル]-[新規作成]のタブのなかから[プロジェクト]を選択し、 アプリケーションウィザードで適当な雛型を作ればいけるでしょう。 主な質問はランダム数値についてのようですので、これはBuilderとか関係なく ANSI-Cの標準関数であるsrandとrand関数を使用して乱数を発生させれば 良いと思います。 例えばstdlib.hとtime.hをインクルードしておいて、 #include <stdlib.h> #include <time.h> srand((unsigned)time(NULL)); のように乱数を時刻で初期化しておけば、毎回実行するたびに発生する 乱数値を変えることが出来ます。 その後rand関数を使って ransuu=(rand()/(RAND_MAX/6))+1; //+1で0~5を1~6に変更 のようにして、1~6の乱数を発生させ、それに対応した1~6のビットマップ画像 を表示するなり、その数の円を書く(BuilderではEllipse関数で描画可能) なりすれば良いと思います。 BuilderではFORMと呼ばれるウィンドウを親として、文字入力のボックスや ウィンドウ、ボタンなどの子供となるツールがあらかじめ用意されていますので、 オブジェクトインスペクタという画面上で対応する親もしくは子を選択し、 イベントタブでマウスクリックのイベントを拾えば、クリックによって 異なる反応をさせることができます。 私の場合あまりヘルプを熟読せずに使ってたのですが、イベントをダブルクリック したらそれに対応する関数が自動的に追加されたりして、結構直感的に 何とかなりました。 Builderではウィンドウ(FORM)を流れ作業で作成できますので、なれれば 一からウィンドウを構築するより、はるかに労力を省けますよ。

parin
質問者

お礼

1ヶ月も前の質問の御礼を今ごろ申し訳ございません(涙) なんとか乗り切りましたがもう限界です・・・ はぁぁぁぁ・・・ ありがとうございました

その他の回答 (2)

  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.2

parinさんの初心者度(?)がどの程度かわからないので、 とりあえず、超初心者と想定して… #include <ctime.h> #include <stdlib.h> srand(time(0)); int x = rand(); // これで、xは乱数です。 あとは、表示系は、C++Builderのラベルコンポーネントや、その他、 とにかく表示できるものを使用することになりますね。 ボタンコンポーネントと、ラベルコンポーネントをフレームに「ポチッとな」 と配置して、ボタンのアクションの「OnClick()」メソッド(かな?)を作り(ダブルクリックとかすると自動的に作成される) その作られた関数の中に、上記の2行を書きます。(ヘッダファイルは上の方に入れといてくださいね) そして、さらに、その関数に、発生した乱数をラベルの文字列に反映させる行も必要ですね。 多分 label1->text = x; とかいう感じになるでしょう。(正確でもなんでもなく、雰囲気的に…) まぁ、学習課題っちゅうことなので、あとは自分でやりなされ。

parin
質問者

お礼

1ヶ月も前の質問の御礼を今ごろ申し訳ございません。 じつはもう情報工学科に入って5年目なんですけどね(笑) パリンにプログラム作成はむりですね(涙) では、ありがとうございました

noname#9414
noname#9414
回答No.1

ランダムに数字を表示って・・・ C++Builderに限らず、ANSI-Cでも持っているはず。 そのままsrand関数などを使用すれば問題はないと 思いますが・・・ 表示面に関しては、ヘルプをご確認ください。 ではでは☆

parin
質問者

お礼

1ヶ月も前の質問の御礼を今ごろ申し訳ございません。 なんとかプログラムもできて・・・ パリンにプログラム作成は無理だとわかりました。

関連するQ&A

  • Basicとbuilderについて

    いま、Visual Basic6.0とC++builder5.0でプログラムを書いてるんですが、この2つのプログラムを連動することはできないのでしょうか? つまり、BasicのFormにある"command1"をクリックすると、builderのFormにある"button1"のプログラムが実行される、みたいなことです。(もしくは、その逆) basicだけ(builderだけ)で書けばいいんじゃないか、と思われるかもしれませんが、このようにしたいのです。 どうかよろしくお願いします。

  • Borland C++ Builderについての本

    卒業研究でソフトを開発するにあたって、C++ Builder 6を使い始めたのですが、使い方がよく分からなくて困っています。 「こういう機能をさせたい!・・・でも、どのコンポーネントを使ったら良いの?」と、日々頭を悩ませています。付属の分厚い開発者ガイドをみても、本当にちんぷんかんぷんで、悲しくなりました。 C++ Builderの使い方などが載っている本を知っている方、是非助言していただけたら、と思います。 よろしくお願いします。

  • C++ Builderでの自作関数について

    初歩的な質問で申し訳ありません。 C++ Builderでアプリケーションを作成する際、 様々なアプリケーションで自作の関数を利用したいのですが、 どうすればよろしいのでしょうか? 【イメージ】 ボタンクリックのイベント{ jisaku_kansu(); } 関数名の付け方、宣言の仕方、作成するアプリケーションのソースの どこで参照するかなど、手順を教えてください。

  • C++コンソールプログラムをBuilder6に書き直す

    卒業研究に取り組んでおり、 コンソールプログラムで得た出力結果(.exe)を、BuilderのMemoで表示させたいのですが、どの部分を書き直したらいいのかわかりません。私が思うに 1.Wimmain 2.出力部分 を書き直せばいいのかなと思うのですが、参考になるサイトなど知っていたら、またアドバイス等ございましたら教えて下さるとありがたいです。 今、namespaceの次にmainを書いているのですが、  E2268 未定義の関数を呼び出した というエラーが表示され、main文は読み込めていないようです。どなたかわかる方いましたらアドバイス宜しくお願いします。 追伸 .exeの内容をShellExcuteで呼び出すということも可能なのでしょうか。宜しくお願いいたします。

  • C#で大富豪

    C#で大富豪 課題研究でC#で大富豪を作っています ですが全く進みません・・・C#は初めての言語だから結構詰まってます Visual C#で開発しているのですが C#に関する情報サイトも少なく 大富豪のサンプルプログラムを見つけたのですが、実行も出来ず プログラムだけを眺めてても上手く理解できません・・・ できれば、こんな感じに作ってみたら? とか 参考サイト、アイディア何でもいいので情報をくれるとすごく嬉しいです 卒業に関わってくるのでものすごい焦ってます よろしくお願いします

  • ランダムで数を表示するには

    C言語を覚えたてなんですが 計算や変数を代入などは本にやり方が書いてあってわかったのですが たとえばサイコロやルーレットのプログラムを作るとして 1~6の数字がランダムででるようなプログラムをつくるには どうすればいいのでしょうか? また1が50%で、2が25%、3が10%で4~6が5%づつとか 出る確率を設定することとかも出来るのでしょうか?

  • C言語プログラム 作ってくれませんか?m(__)m

    C言語 プログラム 1~45の数字の中からランダムに15ペアの組み合わせと残りの数字を表示するようなプログラムをつくりたいのですが,どなたか作ってくれませんか? 以下のような表示例みたいなのが,嬉しいです。お願いします。 Ex. ./ random 6 -27 5 -22 4 -19 1 -21 15 -14 33 -40 17 -36 37 -28 13 -42 23 -41 34 -24 7 -35 38 -11 12 -8 26 -18 43 9 3 25 16 2 44 29 30 39 45 10 20 32 31

  • C++ Builder X ファイルについて

    こんばんわ。 C++ Builder X で、プロジェクトを作って、ファイルを1つ作って(仮にファイル名をAとします)、プログラムを実行すると、 画面下の方に結果が表示されます。 ここまでは問題ないんですが。 違うプログラムを作ろうと新しくファイルを作るために、ファイルメニューの新しいファイルをクリックして、同じプロジェクト内に違うファイルBを作りました。 ソースを書いて、コンパイルして実行しようとすると、画面下の方には、ファイルAの結果が表示されます。ソースを書くところのタブは、ファイルBになっているし、その状態で実行するとなぜかファイルAの結果がでます。 どうすれば、ファイルBの結果が表示されるのでしょうか? 1回1回新規にプロジェクトから作らなければいけないのですか? どなたか宜しく願いします。

  • C#でプログラミングしてるのですが・・・

    C#です。 配列にある数字を入れています。 例えば、 sampleという配列に、 sample[0]=3 sample[1]=5 sample[2]=7 sample[3]=2 sample[4]=10 sample[5]=12 という感じで、ランダムに数字を入れています。これらの数字の中で、一番小さな数字を割り出すプログラムはあるんでしょうか?? まだ、初心者でよく分からないのですが、もしあるのでしたら、どんなプログラムか教えて欲しいです。

  • C++BuilderにてEFCreateErrorが回避できません

    こんにちは。プログラミング初心者でくだらない質問だったら申し訳ないのですが、調べてもどうしても解決できなかったので質問させて下さい。お手数をおかけしますが宜しくお願い致します。 C++Builderにて単純なプログラムを作成しています。 内容はTEditコンポーネント,TButtonコンポーネント,TOpenDialogコンポーネントを設置し、TButtonのクリックイベントでOpenDialogのExcecuteメソッドを呼びます。 ExcecuteメソッドがtrueだったらOpenDialogのFileNameプロパティの値をTEditのTextにコピーし、そのText、つまりファイルのフルパスをExtractFileName関数でファイル名のみにした値をTStringList型にAddします。 そして最後に保存ボタンクリックでTStringListオブジェクトのSaveToFileメソッドで保存する、という内容なのですが、保存ボタンクリック時にEFCreateErrorが発生してしまいます。 常に発生するのであれば原因も絞れるのですが、「OpenDialogのExcecuteメソッドを呼び出した場合のみ」という条件で例外が発生してしまい、原因が分からず困っております。 つまり、手入力でTEditに入力した場合などは正しく保存できるのですが、OpenDialogにてファイルパスを選択した場合のみ発生してしまいます。 これはどのような原因が考えられますでしょうか?