学校の宿題で
WSHの分岐のプログラミングをしています。

とちゅうで、質問の「はい」を押しても続きがでません。
エラーになってるわけでもありません。
3つ目の分岐点からなんですが…

WSHの分岐 って、数に制限があったりするんでしょうか…
教えてくださいッ汗

このQ&Aに関連する最新のQ&A

A 回答 (4件)

#2 Wizard_Zeroです。



プログラムの文法自体は間違っていないのでエラーは出ません。
ご提示されたコードは、そのようにコーディングされているのでエラーでも分岐の制限でもありません。
「ミルクをいれますか?」で「はい」を選択するとそこでプログラムが終了するようになっているだけです。

本来ならばSubプロシージャやFunctionプロシージャで分岐処理を小分けにすることをお勧めしますが、宿題とのことなので何かコーディング制限があるのでしょうかね。

これだけ深い層までネスティングするとケアレスミスも発生しやすくなります。一度流れ図を書いて、コードと比較してみると、間違っている部分が見つけやすくなると思います。
    • good
    • 0

宿題とのことなので、具体的なアドバイスはしません。


とりあえず、「どこから動かなくなったか」を調べればそこに原因があるはずです。
そのコードを削って(例えば○階層より深いIFの中を削除)
それで動くかどうかを確認。動くなら少しずつ戻していって動くかどうか確認。
で、それを繰り返すと場所の特定はできるんじゃないかと。
    • good
    • 0

コンピュータである以上、いずれは限界や制限があるとは思いますが、今までそのような壁にぶちあたったことはありません。


単純にコーディングミスだと思われます。

具体的にどのようなコードを書いているか解りませんので、これ以上の回答は出せません。
    • good
    • 0

不具合が再現するソースを補足にどうぞ。

この回答への補足

長ったらしいですが;
これデス↓


Dim a,b,c,d,e,f,g,h,i,j,k

a=msgbox("ジュースは好きですか?",4)
if a=6 then
c=msgbox("炭酸がいいです。",4)
elseif a=7 then
b=msgbox("コーヒーと紅茶ならコーヒー派です。",4)
if b=6 then
d=msgbox("ミルク入れますか?",4)
elseif b=7 then
e=msgbox("紅茶より日本茶です。",4)
if d=6 then
f=msgbox("ホットですか?",4)
elseif d=7 then
g=msgbox("ホットですか?",4)
if e=6 then
h=msgbox("冷やしますか?",4)
elseif e=7 then
i=msgbox("ホットですか?",4)
if f=6 then
msgbox"お待たせしました、ホットのカフェオレお持ちしましたー"
end if
elseif f=7 then
msgbox"お待たせしました、アイスカフェオレお持ちしましたー"
end if
if g=6 then
msgbox"お待たせしました、ホットコーヒーお持ちしましたー"
end if
elseif g=7 then
msgbox"お待たせしました、アイスコーヒーお持ちしましたー"
end if
if h=6 then
msgbox"お待たせしました、冷たい日本茶お持ちしましたー"
end if
elseif h=7 then
msgbox"お待たせしました、暖かい日本茶お持ちしましたー"
end if
if i=6 then
j=msgbox("ミルク、入れますか?",4)
elseif i=7 then
k=msgbox("ミルク、入れますか?",4)
if j=6 then
msgbox"お待たせしました、ホットミルクティーお持ちしましたー"
end if
elseif j=7 then
msgbox"お待たせしました、ホットの紅茶お持ちしましたー"
end if
if k=6 then
msgbox"お待たせしました、アイスミルクティーお持ちしましたー"
end if
elseif k=7 then
msgbox"お待たせしました、アイスティーお持ちしましたー"
end if
if c=6 then
Dim x
const t="炭酸なら?"
randomize
x=int(rnd*10)
select case x
case 0,1,2
msgbox"お待たせしました、コーラお持ちしましたー",,t
case 3,4,5
msgbox"お待たせしました、ペプシお持ちしましたー",,t
case 6,7,8
msgbox"お待たせしました、サイダーお持ちしましたー",,t
case else
msgbox"お待たせしました、ファンタお持ちしましたー",,t
end select
end if
if c=7 then
Dim y
const u="炭酸以外なら?"
randomize
x=int(rnd*10)
select case y
case 0,1,2
msgbox"お待たせしました、ココアお持ちしましたー",,u
case 3,4,5
msgbox"お待たせしました、アクエリアスお持ちしましたー",,u
case 6,7,8
msgbox"お待たせしました、シェイクお持ちしましたー",,u
case else
msgbox"お待たせしました、オレンジジュースお持ちしましたー",,u
end select
end if

お願いします!! ((質問主

補足日時:2009/05/22 11:10
    • good
    • 0

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


人気Q&Aランキング

おすすめ情報