• ベストアンサー

for文,if文,c++

c++でやっていますが、for文,if文,showmessage()を利用して作りたいのですが、 どこからはじめればよいのかよくわかりませんので教えて下さい。 フォームにラベル1つ、テキストボックス1つ、ボタン1つを作ります。 ラベルには「北海道の県庁所在地はどこですか?」と表示されます。 テキストボックスに入力して、正解であれば「正解です」と表示され、次の県に進み ます。 不正解であれば「不正解です」と表示して、同じ県を繰り返します。 47都道府県がすべて終わったらフォームを閉じます。

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

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

> どこからはじめればよいのかよくわかりませんので教えて下さい。 処理系を明確にすることから始めましょう。 標準C++には、showmessageという名前の関数やクラスも、フォーム、ラベル、テキストボックス、ボタンという概念もありません。 正確にいうとラベルという概念は存在しますが、それはgoto文の飛び先であったり、switch文の中で使うcaseやdefaultのことです。

その他の回答 (1)

  • arain
  • ベストアンサー率27% (292/1049)
回答No.2

>どこからはじめればよいのかよくわかりませんので教えて下さい。 C++より前に、 しっかりと設計することから始める。 「どこ」で「ある事」をする為には「どのような機能」が必要か、 また、その機能を実現するためには「どのような処理」が必要か といったことが設計できていれば、 それに必要な処理(プログラム)や機能(画面やキー入力?)もおのずとわかってきます。

関連するQ&A

  • 順不同について

    【問題】 1.フォームにテキストボックス1つとボタンを1つ作ります。 2.ラベルを1つ作り、『「○○件の県庁所在地はどこですか?」といういう問題を表示します 3.テキストボックス1に問題の答えを入力します。ボタンをクリックするとメッセージを 表示するようにします。 メッセージは都道府県名と県庁所在地が合ってれば、 「正解です。」、それ以外は「不正解です。答えは~です」と表示します。 10問解いたら正解した合計を表示します。 問題は47都道府県のうちから10個順不同に出題され、どの都道府県の問題がどの順番で出題されるかはプログラムが起動される度に毎回変わります」ということです。 ここで順不同というのは頭では理解できますが、どんなコードを書けばよいのかわからなくて、困っています。 よろしくお願いします。

  • if文とfor文で・・・

    キーボードから今月の給料を入力する。       実行例        input 197868            10000---------> 19             5000---------> 1             1000---------> 2             500---------> 1             100---------> 3              50---------> 1              10---------> 1              5---------> 1              1---------> 3       以上のように表示させる。 を配列を使わずにif文とfor文だけでプログラムするんですが、for文をどこで使用すればいいのかわかりません・・・ 環境はunixでemacsを使用しています。

  • IF文について

    アクセス97での質問です 今、入力フォームを作成してまして、入力チェックのプログラムを作成しているのですが、NULLや文字数等のチェックはうまくいくのですが、どうしてもうまく出来ないのがあるんです それは半角で5文字入力できるテキストボックスがあって その先頭の一文字が半角カナじゃない時にエラーを出したいんです 他のエラーチェックもIF文を使ってやっているので、同じようにIF文で作りたいのですが、いい方法が思い浮かびません わかる方がいらっしゃいましたら教えていただけませんか? 宜しくお願いします

  • IF文の分岐が正しく動きません

    Access VBAについて教えてください。いまオプショングループの中にテキストボックスがあります。オプショングループをoption1、テキストボックスをtextbox1とします。テキストボックスは空の状態で、ロックをかけているので入力はできません。 実行ボタンを押したときに、テキストボックスの中が空ならMsgboxをだしなさいという文をかきました。 If txtbox1.value = "" Then msgbox "nothing" end if また .value=NULL とも書き換えて実行しましたが、なぜかmsgboxを表示せずにend ifにいってしまいます。何が原因と考えられるでしょうか?

  • バッチのFOR及びIF文

    バッチであるTEXTファイルから一部を置換して別のファイルを作成する処理を考えてます。 「あるTEXTファイル」にはSQL文があります。 SELECT CODE ||'","'|| NAME FROM TEST01 WHERE (UPDATEDATE || UPDATETIME) > TO_CHAR(_HENKAN_) の内容が入ってます。 このファイルから「_HENKAN_」をバッチファイル内で置換し、実行できるSQLファイルを作成する処理です。 しかし、FOR文の中のIF文で全然動かないです。 FOR /F "tokens=1 delims=" %%A IN (C:\sql.txt) DO ( if /i %%A=="TO_CHAR(_HENKAN_)" ( echo TO_CHAR(%HENKAN%) >> %出力ファイル% 2>&1←%HENKAN%は時間を設定済み*ここが問題 echo %%A ←テストのため ) else ( echo %%A >> %出力ファイル% 2>&1 ) ) 実行時はエラーはなく実行されますが、echo TO_CHAR(%HENKAN%)が全然効かないようです。 いや、そもそも if /i %%A=="TO_CHAR(_HENKAN_)"が効かないですね。echo %%Aで全SQL文が表示されます。 いろいろ調べたのですが、理由がわかりませんでした。 バッチに詳しい方は教えてください。 よろしくお願いします。

  • 順不同の問題の結果について

    いつもお世話になっております。 問題:http://okwave.jp/qa4229021.html やっと動くようになりましたが、問題が数字で出てしまたのです。「例」問題: 41の県庁所在地はどこですか    答え: 答えは書かないでokボタンを押すと メッセ-ジ:不正解です。正解は1324です。 上記のよう数字に出てしまいますので、困っております。よろしくお願いします。 結局 やりたい事は 問題: 東京の県庁所在地はどこですか 答え:答えを書いて(新宿区)okボタンを押した場合=>正解です。  答えは書かないでokボタンを押すと=>不正解です。正解は新宿区です。 if(pre==9){ ShowMessage(IntToStr(total)+"問正解です。"); //Close(); return; } this->Edit1->SetFocus(); int tmpI, tmp; n=-1; m=-1; total=0; int a; // 起動するたびに乱数を変化させる srand(time(NULL)); // 配列を初期化 for( a = 0; a < 47; a++ ) { seat[a] = rand(); prefecture[a] = a; } // 並べ替え for(int x = 0; x < 46; x++ ) { for(int z = x+1; z < 47; z++ ) { tmp =StrToInt(seat[x]) ; tmpI = StrToInt(prefecture[x]); if ( tmp > seat[z] ) { seat[x] = seat[z]; seat[z] = tmp; prefecture[x] = prefecture[z]; prefecture[z] = tmpI; } } } for(int i=0;i<47;i++){ if(prefecture[pre]==prefecture[i]){ n=i; break; } } for(int j=0;j<47;j++){ if(Edit1->Text==seat[j]){ m=j; break; } } if(n==m){ ShowMessage("正解です"); pre++; cnt++; ShowMessage(pre); total=cnt+total; Label1->Caption=prefecture[pre]+"の県庁所在地はどこですか?"; Edit1->Text=""; return; } else{ ShowMessage("不正解です。正解は"+seat[pre]+"です"); pre++; Label1->Caption=prefecture[pre]+"の県庁所在地はどこですか?"; Edit1->Text=""; } c++builder6を使っております。

  • IF文の作り方

    エクセル VBA 超入門のものなんですけど、質問させてください。 A1のセルに 1を入力したら、セルD1に正解を表示させ、 それ以外なら不正解を表示させたいのですが、  以下の文でつくると 実行した最初しか起動してないような気がするのですが、教えてください。どうすればセルA1を入力するたびに、 正解、不正解をD1に表示させれるでしょうか? Sub テスト() If Range("A1") = "1" Then Range("D1").Value = "正解" Else Range("D1").Value = "不正解" End If End Sub

  • If,Forを使ってカレンダー・スケジュールを作成

    visual basic 2010を使用しています。 「コンボボックス1でAが選択されている場合、コンボボックス2のアイテムをテキストボックス1へ、コンボボックス1がBの場合はテキストボックス2へ……」 というコードを書きました。 If CombBox1.Text = "A" Then TextBox.Text = ComboBox2.Text ElseIf ComboBox.Text = "B" Then TextBox2.Text = ........................... ............................. これに追加して日付の概念を入れるにはどうすればいいでしょうか。 「日付が今日で、なおかつコンボボックス1でAが選択されている場合、コンボボックス2のアイテムをテキストボックス1(今日のAのテキストボックス)へ」 ということです。 「日付が1日後だった場合~」 「日付が2日後だった場合~」 と、1週間後まで繰り返したいです。 ・DateTimePicker ・Dim a As Integer = DateAndTime.day(Now) この二つはフォーム、コードに設置しています。 これらとif,for、もしくはその他の関数を使って効率の良いプログラムの書き方を教えて頂けないでしょうか。 分かりやすいように、手書きで申し訳ないですが、画像も載せておきます。 以上、宜しくお願い致します。

  • java for文、if文を使っての三角形

    例:1 23 456 78910 ・・・・・・のようにひょうじさせるプログラムを作成するのに、for文とIf文を使っての三角形を   作成したいのですが、If文の条件式が分からないのとどうしたら、上記のようなプログラムが   出来るのか教えてください。お願いします。 public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ // 行に表示させる個数を表現するための変数がないため今回、新たに変数を用意する。 int a = 1; //行の終わりを改行して1増やすための変数がないため今回、新たに変数を用意する。 int b = 1; // 1~100までの数字を用意する。 for (int i = 1; i <= 100; i++) { //変数iをSystem.out.printを使って変数iをコンソールの中に出力させる。 System.out.print(i); //System.out.println("")を使って改行する。 System.out.println(" "); //変数iに1増加して数字を順番にする。 i++; if(a <= i){ System.out.print(a);

  • IF文 教えてください (BASIC)

    1, 2, 3, 4 のいずれかの値を取る3つの乱数 x, y, z を同じ行に表示させ,さらに x=y=z=1 のときは「大当」, x=y=z≠1 のときは「当」, x, y, z のうち2つだけが一致したときは「惜」, 上記以外の場合は「残念」 と表示するプログラム ELSEIF文を用い,IF文およびEND IF文は1回で済ませる。 乱数x,y,zを表示することと IF文が分かりません。 RANDOMIZE FOR n=1 TO 3       PRINT INT (RND*4)+1; NEXT n

専門家に質問してみよう