dポイントプレゼントキャンペーン実施中!

非常に単純で申し訳ない質問なのですが
もし ~の条件を満たさない場合 ~へ行くというプログラムを組みたいのですが

ちょっとよく分かりません GOTO文を使えば良いのでしょうか?一回 IF 条件 GOTO (文字) とやりましたところ
(文字)の部分が指定されていないと でました

本などで調べれば良いのですが, ちょうどその本を忘れてしまい 困っているところです

また,このプログラムは他人が作ったものを修正する作業ですので勝手も分からない状態です

単純質問でもうしわけありませんが宜しくお願いします

A 回答 (6件)

>このプログラムは他人が作ったものを修正する作業



ということは元のプログラムにはGOTOはないんですよね?
じゃあGOTOを使用しない方向で考えたほうがいいのでは?
一般的にはGOTOは使用しないほうがいいです。
(ルールなしにGOTOを多用するといとも簡単に解読不能なプログラムができるため。)

たとえば

if (条件1) then
  (条件1成立時の処理)
elseif (条件2) then
  (条件2成立時の処理)
....

else
  (該当なし時の処理)
end if

のようなやり方で置き換えできませんか?

もしくは別のSUBを作ってそれをCALLするとか。
    • good
    • 0

No.4


> ということは元のプログラムにはGOTOはないんですよね?
> じゃあGOTOを使用しない方向で考えたほうがいいのでは?
> 一般的にはGOTOは使用しないほうがいいです。

後のメンテは自分がやるとは限らないのだから、スパゲティ化して可読性が悪化しようが、品質が劣化しようが知ったことではないのでは?
自分にとばっちりが来ないのなら、グローバル変数、マジックナンバー、GOTO文、Variant、非構造化、なんでもありでは?

# 元のソースの出来が悪いからこんなところで相談してるんだろうし。
    • good
    • 0

sub a()



If *** then
xxxx goto 5 '条件を満たした時5のラインに飛ぶ
else
goto 10'条件を満たさない時10のラインに飛ぶ
End if



5 Msgbox(XXXXX)

Exit sub

10:
Msgbox(YYYYY)
End sub

「:」は入れなくても結構(コード内の5のように独立していない場合)
10のように独立したコードの場合「:」は入れたほうがよいと思います
    • good
    • 0

if hoge > 5 then goto koko1


if hoge > 2 then goto koko2
  ・
  ・
  ・
  ・

koko1:
  hoge=hoge+1
goto koko9
koko2:
hoge=hoge+2
goto koko9
  ・
  ・
koko9:
end sub

こんな具合です。
おそらく、ラベルの後の:が無かったのでは?
それとあまり goto を多用するとわからなくなりますので、ご注意を!です。

ではでは。
    • good
    • 0

ネットにつながっているのでしたら、


検索すれば、参考になるページが
たくさん出てくると思いますよ。

参考URL:http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/ …
    • good
    • 0

goto 文の使い方ですね。


goto ラベル と書きます。

ラベルを どこかに 書くと そのラベルにジャンプします。

この回答への補足

すみません 私もそのようにラベルらしきものを設定したのですが ラベルが指定されていませんとでました

できれば ちょっとした具体例などあったならば…と思います

差し出がましいようですが 宜しくお願いします

補足日時:2003/05/15 20:48
    • good
    • 0

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