0

私はあまりにも多くの時間を費やしたこのコードを持っていますが、理解できません。数値の平均を取得してから回答を出力することになっています。名前を入力してから、数値を入力すると1しかかからず、その後続行できません。私はスモール ベーシックの初心者で、これを理解するのに苦労しています。ビジュアル ベーシックはより高度であることを知っているので、ビジュアル ベーシックに入る前に簡単なことを理解しようとしています。アドバイスを頂ければ大変助かります。

total=0
count=0
TextWindow.WriteLine("What is the students name? :")
name=TextWindow.Read()

While name<>""
TextWindow.Write(" Enter the grades :")
grades=textwindow.ReadNumber()
While grades<>""
total= total+grades
count=count+1
EndWhile
TextWindow.Write(name+ "average is" +total/grades)
TextWindow.WriteLine("Enter the name of another student or press enter to exit :")
name=textwindow.Read()
4

3 に答える 3

1

atm をテストすることはできませんが、コードの最後に EndWhile がないと思います。(2 つのループを使用しますが、1 つだけを終了します)

  • このプログラムを Visual Basic で作成するのは、VB に関する情報の方が Small Basic に関する情報よりもはるかに多いため、実際には簡単です。
于 2014-07-14T08:14:59.053 に答える
0

endwhile は必要ですが、2 つ目の while は使用しないでください。これにより、無限ループが発生します。コードを修正しました:

total=0
count=0
TextWindow.WriteLine("What is the students name? :")
name = TextWindow.Read()

While name<>""
  TextWindow.Write(" Enter the grades :")
  grades = textwindow.ReadNumber()
  If grades > 0 Then 
    total= total+grades
    count=count+1
  Else
    Goto end
  EndIf
EndWhile
end: 
TextWindow.WriteLine(name+ " average is " +total/count)
TextWindow.WriteLine("Enter the name of another student or press enter to exit :")
name = textwindow.Read()

お役に立てれば。

于 2014-10-19T16:52:51.570 に答える
0

平均を表示するために成績が 0 未満になるのを待って無限になるのではなく、あなたの問題を修正しました。カウントが 3 に等しい場合 (3 ターム (学校に関するものなので))、カウントの条件を指定しました。その後、その年 (3 ターム) の生徒の平均点の表示が停止します。

total=0
count=0
TextWindow.WriteLine("What is the students name? :")
name = TextWindow.Read()

While name<>""
  TextWindow.Write(" Enter the grades :")
  grades = textwindow.ReadNumber()
  If grades > 0 Then 
    total= total+grades
    count=count+1
  Else
    Goto end
  EndIf
  If count= 3 then
    Goto end
    EndIf
EndWhile
end: 
TextWindow.WriteLine(name+ " average is " +total/count)
TextWindow.WriteLine("Enter the name of another student or press enter to exit :")
name = textwindow.Read()
于 2015-05-10T13:46:13.267 に答える