• 締切済み

C++で1,2,3以外の入力拒否

C++を勉強している初心者です。 質問ですが。 キー入力で1、2、3だけを受け付けてそれ以外の入力は拒否するプログラムをどのように作っていいかわかりません。御教授願います。 例) 1、2、3は受け付け 4~、a、A、漢字 などは入力を受け付けない 宜しくお願いします。

みんなの回答

  • weavaest
  • ベストアンサー率15% (157/1020)
回答No.3

入力チェックで、1、2、3以外を弾くようにすれば良いです。 これだけの文章から回答をもらうとなると、同程度の文章による回答にしかならないと思いますが大丈夫ですか。具体的にコードを見せられれば、ここをこうしてって話ができると思います。

  • wormhole
  • ベストアンサー率28% (1621/5656)
回答No.2

「キー入力」というのが 「標準入力からの入力」なら比較的簡単ですけど 「キーボードからの入力」だと「キーボードからの入力」から作らないといけない事もありますが どちらでしょう?

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.1

まず文字列を入力します。 その文字列が、1、2、3のいずれかに一致すれば次に進み、 そうでなければ、拒否するメッセージを出します。入力を繰り返すなら最初に戻る。 どのあたりがわからないのでしょうか?

関連するQ&A

  • C++のcin命令について

     私は、C++言語を勉強している初心者です。  ある日、C++言語では、   「cin >> a >> b >> c;」と書くと、プログラムを実行したときに、   「3 4 5」と入力すれば、変数aには 3 が、変数bには 4 が、変数cには 5 が代入されるということを知りました。  けど、今まで私がC言語を使う際に使っていた、   「scanf("%d,%d,%d",&a,&b,&c);」という文では、プログラムを実行したときに、   「3,4,5」と入力すれば、変数aには 3 が、変数bには 4 が、変数cには 5 が代入されるというように、3つの数字の間にカンマを入れて数を代入するというプログラムを作りたいのですが、どうやってもcin命令では再現できません。  超初心な質問ですが、わかる方がいらっしゃったら、やり方を教えてください。

  • object-c 文字入力

    こんにちは。 最近object-cの勉強を始めて、わからないことがあったので、質問させていただきます。 文字を2つ入力して、ボタンを押すと、2つの文字が連結されて出力されるプログラムを書きたいのですが、下記に示すようなプログラムの例がどこかに載っていたのですが、field1とfield2というのは一体何なのでしょうか?(下記は入力した文字を取得している過程) (IBAction)buttondown:(id)sender{ NSString *inputtext1 = field1.text; NSString *inputtext2 = field2.text; }

  • UNIXのshでの入力受付について

    またまたシェル関係で質問です。 sh上で入力受付をさせたいときは通常 「read 変数名」 をいれて入力受付をさせています。 ですが、今やっている現象でこの入力受付が スルーされているという現象が起きていて悩んでいます。 ※ ソース例 ls -l | while read VAL_A ; do echo "test" read VAL_B ← ここで入力受付がスルーされる done  そこで質問なのですが、read以外にキー入力受付を 実現できるコマンドというものは存在するのでしょうか? もしなければ、回避方法は存在するのでしょうか? ちなみに実行環境は OS:HP-UX11.0 となっています。それでは宜しくお願いします。

  • C を入力するとCDケースが飛び出す

    パソコン初心者です。 C のキーを押すと、CDケースが飛び出して小文字のCが入力できません。 大文字で、C を入力することは出来ます。 どういうことなのでしょう。対処法を教えて下さい。

  • C-Builderで数値(数字)以外を入力出来ない様にしたい。

    C-Builder V5 で数値(数字)を入力すべきところで、実行時に文字等を入力すると、システムからエラーメッセージが表示されるので、これを防ぐ為にEditで入力時に数字以外をはじきたいのですが、可能でしょうか。 以前C-Builder V4で作った時は出来た様な気がしたのですが、どの様にやったか思い出せないでいます。 ネットではC-Builderのサンプルが見つからず、Delphiのサンプルでは昔の記憶と同じ処理を行っていましたが、これだと文字判定以前にEditの枠に既に文字が入ってしまっており、文字の排除が出来ませんでした。 どなたか数字以外をはじく方法ご存知の方、お教え下さい。 // Edit1->ImeMode = imDisable; // 初期化部分で実行 void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if(Key<48 || Key>57) { Key = 0; } }

  • 文字を入力するときに

    パソコンで文字を入力するときに。 パソコンの電源を入れて、インターネットに接続して、検索ボックスに文字を入力しようとします。 例えば「A」のキーを押すと「A」と入力されます。 ひらがなの「あ」と入力したい場合には、キーボードの左上の方にある「半角/全角/漢字」キーを一回押してから「A」のキーを押します。 毎回文字を入力するときに、初めに「半角/全角/漢字」キーを押すのは面倒です。押し忘れたりしますし。ひらがなで入力したつもりが、気が付くと全部アルファベットになっていて、全部消してまた一から入力しなおしです。 文字を入力するときに、「半角/全角/漢字」キーを押さなくても、初めからひらがなで入力されるようにする方法は無いものでしょうか? よろしくお願いします。

  • 入力した数値を0~3乗するプログラム (C言語)

    この前学校の授業でやり方がわからなかったことがあるので質問させていただきます。 scanfを使って入力した整数を0~3乗したものを出力するプログラムをかけ ちなみに7を入力すれば、 7^0=1,7^1=7,7^2=49,7^343 と出力されるようにしなさい という問題が出ました。 これは掛け算を使って作るのでしょうか? このプログラムの作り方と解答例をご教授願います。

  • C言語の外部からの変数取得方法について

     現在C言語の勉強を始めました。C言語を使用してプログラムを作成しています。コマンドプロンプトで、プログラムを実行する際に、「a = 」というようにたずねて、aの数値を取得して、プログラムで計算できるようにしたいのですが、getsではうまくいきませんでした。 例としては以下のようにしたいのです。 【コマンドプロンプトにて】 a + b = a =  //5と入力 b = //3と入力 計算結果は8です。 どのようにしたらプログラム実行中に数値を取得できますか。

  • C言語の入力方法について

    C言語で以下のようなプログラムをつくるとします。 ・5個の数字を入力し、合計を求める。 その際、コマンドプロンプト上に実行結果が下記のようにでるとします。 例: 1個めの数字を入力してください→ ここで1を入力すると 例: 1個めの数字を入力してください→1 2個めの数字を入力してください→ このようになったときに「やっぱり1個めの数字を変更したい」 となったときに変更する手段はあるのでしょうか?

  • Excelの入力規制について

    初心者の質問ですみませんが、 セルA1:C3までに、1か3か10以外の数字が入力されて場合に エラーメッセージをだして入力できないようにしたいのですが どうすればよいでしょうか

専門家に質問してみよう