
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
整数格子点を列挙するプログラム
-
4桁の数値を逆に表示されるプ...
-
fortran if文
-
プログラミング(自由課題)
-
360度を超える角度
-
Tiny Basicのプログラムです。。
-
65536は2の何乗なのでしょうか?
-
C++ で、「)」が必要 というエ...
-
正しい五十音順について
-
ファイルの開き方
-
プログラムから開く・・・DPP
-
VBAで仕様書は書きますか?
-
あるプログラムのコマンドライ...
-
自動クエリとはどういうもので...
-
自分の声が遅れて聞こえてくる...
-
C言語初心者。静磁場の計算。台...
-
socketでの複数NICの扱い
-
コンパイルできない
-
読み込み中にアクセス違反が発...
-
プログラミングのコード量に関...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
【JAVA】数字をひし形に出力す...
-
Sublime Text 3でのFortranプロ...
-
COBOLのピリオド
-
3つの整数のうち奇数のみを表示...
-
360度を超える角度
-
Fortran "実引数の型が仮引数の...
-
Matlabについて質問2
-
JCLの基本について教えてください
-
C言語の質問です。
-
ProC 固定SQLでNULLってどう表...
-
Fortran90についての質問です。
-
C言語のプログラム
-
素数判定について
-
fortran if文
-
C言語 バッファについて。
-
プロローグ(=Prolog)について質...
-
FORTRAN77のプログラミングを教...
-
Fortranプログラム-if文について
-
不具合が発生(API・C言語)
おすすめ情報