アプリ版:「スタンプのみでお礼する」機能のリリースについて

先ほど同じ質問をしたのですが、質問の仕方が悪く意図した回答が得られなかったので、
再度質問します。

カシオのポケコン(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に進む)をどのようにすればよいか
教えてください。

どなたかわかる方いらっしゃいませんか?

A 回答 (3件)

INPUT "A=";A$


IF A$="" THEN 入力なし
A=VAL(A$) 数値に変換

参考URL:http://smileboom.com/special/petitcom/manual/pag …
    • good
    • 0
この回答へのお礼

解り安い凡例ありがとうございます。
この関数は知りませんでしたが、このとおり入力したらできました。
本当にありがとうございました。
大変助かりました。

お礼日時:2012/11/24 17:53

先ほど同じ回答をした者ですが反応がなく締め切られ、読まれてないようなので


再度回答+追記します。

どのようにうまくいかないのか、どうなる計画なのに実際がどうなってしまうのか、
エラーになるなら何と言うエラーが表示されるのか、も示さないと。

多分ですが、

>ライン30の「B="" THEN GOTO 40」がうまく実行されません。

変数Bは数値型なのに行30で文字型で比較しようとしてるからエラーになるんだと思います。

>20 INPUT"B=",B
で Enter のみ入力時にも多分変数Bは何らかの値(ゼロとか)が入いるか前の値が残るとかで、
Enterのみだったのか、数値も入力したのか、という判定は無理かと思います。

追記。
対策の一案ですが、
Bは文字型として入力し、Enterのみの場合はヌルになるのでこれを判定、
数値の場合は「数字のみの文字列」なのでこれを数値に変換してから計算に使う。
とすればよろしいかと。
    • good
    • 0

数値として入力された変数を、文字列として比較しているからではないでしょうか。


たぶん、
30 IF B=0 THEN GOTO 40 ELSE GOTO 50
でいけると思う。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!