Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
FormatPercent関数とSelect Case
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10579#CommentId22122
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
もも
 (学生)
投稿日時
2011/11/19 10:02:24
成績をつけるプログラムを作成しています。
合計点数と満点をで割合を求め、FormatPercent関数でパーセントに変換させた後Select Caseでそれぞれ成績を振り分けるのですが、どうも思うように行きません。
まずコードを記載します。
Dim Grade As Decimal
Dim Total As Integer
Dim Totalpossiblepoint As Integer = 800
Dim FinalGrade As String
Grade = (Total / Totalpossiblepoint)
Dim percentage As String
percentage = FormatPercent(Grade, 0)
MsgBox(percentage)←これはただの確認用です。
' 90%以上ならA、80-89%ならB、70-79%ならC、60-69%ならDに
Select Case percentage
Case Is >= 90
FinalGrade = "A"
PassAtoC()
Case 80 To 89
FinalGrade = "B"
PassAtoC()
Case 70 To 79
FinalGrade = "C"
PassAtoC()
Case 60 To 69
FinalGrade = "D"
PassD()
Case Else
FinalGrade = "F"
Failed()
End Select
点数の割合が各成績の間に位置すると、「その他」としてF表示になるのです。
例えば得点が715点、満点が800点だとすると、89.37%になり、整数に四捨五入すると89%になりますが、Fが表示されます。これが88%ならば普通にBになるのですが。
いろいろ試したところ、
100%=F
99%=A
90%=A
89%=F
80%=B
79%=F
となりました。
80 To 89は80<>89を意味しているのかと思いましたが、そうでもない? それともこれは80>=, <89となっているのでしょうか?
どうしてこうなっているのか、どうすればよいのか教えてください。