先ほど同じ質問をしたのですが、質問の仕方が悪く意図した回答が得られなかったので、
再度質問します。
カシオのポケコン(Z-1GR)のBASICでプログラムを作成する際に
Enterキーを押した場合と数値を入力した場合で分岐させたいのですが、やり方がわかりません。
例えば
Aを入力、Bを入力すると、C=A+BでCの答えを表示させる。
ただし、Bの入力時に何も入力しないで、そのままEnterキーを押すと、C=0と表示させる
と言った感じです
10 INPUT"A=",A
20 INPUT"B=",B
30 IF B="" THEN GOTO 40 ELSE GOTO 50
40 PRINT"C=0":GOTO 20
50 C=A+B
60 PRINT"C=";C:GOTO 20
上のライン30の指示がうまく実行しません。
「B="" THEN GOTO 40」の部分だと思うのですが
この部分 (そのままEnterキーを押すとライン40に進む)をどのようにすればよいか
教えてください。
どなたかわかる方いらっしゃいませんか?
No.3ベストアンサー
- 回答日時:
INPUT "A=";A$
IF A$="" THEN 入力なし
A=VAL(A$) 数値に変換
参考URL:http://smileboom.com/special/petitcom/manual/pag …
解り安い凡例ありがとうございます。
この関数は知りませんでしたが、このとおり入力したらできました。
本当にありがとうございました。
大変助かりました。
No.2
- 回答日時:
先ほど同じ回答をした者ですが反応がなく締め切られ、読まれてないようなので
再度回答+追記します。
どのようにうまくいかないのか、どうなる計画なのに実際がどうなってしまうのか、
エラーになるなら何と言うエラーが表示されるのか、も示さないと。
多分ですが、
>ライン30の「B="" THEN GOTO 40」がうまく実行されません。
変数Bは数値型なのに行30で文字型で比較しようとしてるからエラーになるんだと思います。
>20 INPUT"B=",B
で Enter のみ入力時にも多分変数Bは何らかの値(ゼロとか)が入いるか前の値が残るとかで、
Enterのみだったのか、数値も入力したのか、という判定は無理かと思います。
追記。
対策の一案ですが、
Bは文字型として入力し、Enterのみの場合はヌルになるのでこれを判定、
数値の場合は「数字のみの文字列」なのでこれを数値に変換してから計算に使う。
とすればよろしいかと。
No.1
- 回答日時:
数値として入力された変数を、文字列として比較しているからではないでしょうか。
たぶん、
30 IF B=0 THEN GOTO 40 ELSE GOTO 50
でいけると思う。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Visual Basic(VBA) vbaのループ処理について 6 2022/05/06 15:35
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Ruby プログラミング 3 2023/06/09 14:30
- iOS これは日本語入力の大発明ですか? 7 2022/12/21 07:17
- その他(プログラミング・Web制作) ポケコンの文字移動が上手くできない… 3 2022/04/25 01:34
- Windows 10 エクスプローラで希望の場所が表示できない 2 2023/06/29 15:19
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
*をユーザーが入力した数字の数...
-
Eclipseコンソール表示を、リセ...
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
C言語について
-
プログラミングC言語について
-
cout関数を使っているのですが...
-
C言語でつるかめ算をするにはど...
-
switch文 defaultについて
-
至急教えてください!プログラ...
-
java初心者です。入力されたの...
-
Userformの入力順序をタブオー...
-
WindowsでEOF
-
C言語
-
MinGWのC言語でCTRL+Zで処理が...
-
C言語scanf_sで何故か2回入力に...
-
C++のcinの動作
-
プログラムの進行が一時ストッ...
-
漢字のソートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
double型が正常に認識されてい...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語scanf_sで何故か2回入力に...
-
if文の条件にscanf関数を使うと…?
-
プログラミングの問題です 「金...
-
Linuxで入力待ちなしkeyread関...
-
ワードで文字を入力する時の変...
-
cout関数を使っているのですが...
-
batプログラム上で文字列を入力...
-
Userformの入力順序をタブオー...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
gets_sがうまく動かない
-
Excel VBAで、Application.Inpu...
おすすめ情報