Tiny Basicのプログラムで
試験の成績を入力し、30点未満なら青点、30点以上50点未満なら赤点、50点以上なら合格と表示するプログラムを作成せよ。青点、赤点、合格を判定する部分は副プログラムとして作成せよ。 という問題があったんです。
それで僕は
Cls
input A
Call Q
Sub Q
END
Select Case A=A
Case A=<29
print"青点"
Case A=>50
print"合格"
Case else
print"赤点"
End Select
End sub
というプログラムをつくったんですがどんな点数を入れても青点って結果がでてしまうんです。
どうしたらいいんでしょうか?
No.9ベストアンサー
- 回答日時:
>PUBLIC Aのやつはエラーになります
エラー:コマンド PUBLIC の構文エラーです。
コマンドまたは引数のミスタイプが考えられます。
俺の環境では全くそうならない。念のため、Tiny BasicのバージョンとOSを言ってもらえる?
使えないバージョンだと仮定して
一応結構苦し紛れでこう書き直してみたけど・・・・
Cls
input A
Call Q(A)
END
Sub Q(X)
Select Case X=X
Case X=<29
print"青点"
Case X=>50
print "合格"
Case else
print "赤点"
End Select
End sub
OSはXPで
バージョンはTiny Basic for Windows v. 1.15b(jan.2007)
bytakeuchi Teruoです。
このプログラムでもできましたありがとうございました!!
No.6
- 回答日時:
>どのようなプログラムをつくったら
回答1の
PUBLIC A
から
End sub
までそのまま。
>起動させるとSub文に対応してませんとでてしまって
多分DT200さんがC/C++のノリで書いちゃったからだと思う
Basicは
Else If
じゃなくて
ElseIf
だ。
多分そこを全部直せば動くんじゃないかなあ?
>Select Case TRUEとかPUBLIC A のところが特にわかりませんね。。
何かいい説明があればURL読んどいて、で済むんだけど、ちょっと探す気力が沸かない。済まぬ。
#ちなみに一応環境を述べたのは
http://oshiete1.goo.ne.jp/qa3088906.html
なんてこともあったから。
if文は起動には成功しましたがやっぱり青点って表示されます
PUBLIC Aのやつはエラーになります
エラー:コマンド PUBLIC の構文エラーです。
コマンドまたは引数のミスタイプが考えられます。
って感じです
No.5
- 回答日時:
> =< や => じゃなくて <=/>= ではないのですか?
あ。でもまぁ一応当方環境では動作しています。
>Select Case の使い方が間違っています。
私も最初はそう思ったのですが、間違ってないと思います。
Select Case TRUE
って書けばお分かりでしょうか?
次のCase の後に指定された条件文がTRUEとなればそれが選ばれる、という。
#当方環境では
80を入力したら「合格」
30を入力したら「赤点」
15を入力したら「青点」
が表示されました。
PUBLIC A
がポイントだと思うんだけどなあ・・・・
(#1で掲示したコードはうっかりAの後に全角空白入れちゃったっぽいのでそのままコピペすると文法エラーと怒られます。)
#ちなみに検証環境はTiny Basic for Win 1.15b on WinXP Pro SP2です
Select Case TRUEとかPUBLIC A のところが特にわかりませんね。。
どのようなプログラムをつくったらちゃんと結果がでたんですか?
おしえてください><
No.4
- 回答日時:
外してたらごめんなさい。
> Case A=<29
> print"青点"
> Case A=>50
=< や => じゃなくて <=/>= ではないのですか?
Tiny Basic for Windowsについて
http://tinybasic.hp.infoseek.co.jp/TBIntro/tbasi …
ですよね?
でも構文エラーになっていないのか。
No.3
- 回答日時:
Select Case の使い方が間違っています。
Select Case A ← A=Aではない
Case 0 To 29 ← toで範囲を指定できるか不明(以上や以下という使い方はできない)
print "青点"
Case 30,31,32,33, .... ,48,49 ← これはOKのはず
Print "赤点"
Case 50 To 100
Print "合格"
Case Else
Print "入力誤り"
End Select
とするか、If文で判断します。
If ( A >= 0 ) and ( A < 30 ) Then
Print "青点"
Else If ( A>=30) and (A<50) Then
Print "赤点"
Else If (A>=50) and (A<=100) Then
Print "合格"
Else
Print ”入力誤り"
End If
Select Caseのプログラムはなんかよくわからなくてできませんでした。。
If文はとりあえず入れてみましたがエラーになってもうすこしでできそうだったんですが。。(泣
Cls
input A
Call mb
end
Sub mb
If ( A >= 0 ) and ( A < 30 ) Then
Print "青点"
Else If ( A>=30) and (A<50) Then
Print "赤点"
Else If (A>=50) and (A<=100) Then
Print "合格"
end if
End sub
end
という感じです
起動させるとSub文に対応してませんとでてしまって
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Delphi 6 で 2進数→10進数変換
-
BASICの数値解析(ニュートンラ...
-
fortran if文
-
Sublime Text 3でのFortranプロ...
-
変数の値が勝手に変化する原因
-
素数を探すプログラム…。
-
MessageBoxでの処理の仕方が分...
-
ループのとめ方
-
Tiny Basicのプログラムで。。
-
Fortran "実引数の型が仮引数の...
-
Matlabについて質問2
-
4桁の数値を逆に表示されるプ...
-
正しい五十音順について
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
65536は2の何乗なのでしょうか?
-
自動クエリとはどういうもので...
-
VBAにてメール作成した際、一部...
-
ExcelのマクロVBA動作を軽くす...
-
VBAで仕様書は書きますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
JCLの基本について教えてください
-
Sublime Text 3でのFortranプロ...
-
【JAVA】数字をひし形に出力す...
-
360度を超える角度
-
ProC 固定SQLでNULLってどう表...
-
COBOLのピリオド
-
Fortran90についての質問です。
-
3つの整数のうち奇数のみを表示...
-
main関数終了時のreturnの意味は?
-
fortran if文
-
fortranについて
-
4桁の数値を逆に表示されるプ...
-
3次関数を作るプログラム
-
PICのプログラムでsrandを使う...
-
整数格子点を列挙するプログラム
-
ロトカ=ヴォルテラ方程式 をC...
-
Fortran90のプログラムについて
-
Segmentation fault
-
Fortran "実引数の型が仮引数の...
おすすめ情報