私は、自宅でVisual Studio 2010または2017を使用してレベルプロジェクト用のプログラムを作成しようとしています。コンソールアプリケーションを使用しています。私が必要とするのは、教師がプログラムに入力した生徒の詳細を含むテキストファイルを作成することです。次に、教師は特定の生徒ID番号を入力し、この生徒の記録の最後にスコアを追加できるようにする必要があります。 これはこれまでの私のコードです。しかし、教師は生徒の詳細を入力してそれをテキストファイルに書き込むことができます。ビジュアルベーシックのテキストファイルの特定の行にテキストを追加するにはどうすればよいですか?
Dim studentID As String
Dim studentname As String
Dim classname As String
Dim Filename As String
Filename = “Students.txt”
FileOpen(1, Filename, OpenMode.Append)
Console.WriteLine(" Student Setup")
Console.WriteLine()
Console.WriteLine()
Console.Write("Student ID: ")
studentID = Console.ReadLine
Console.Write("Student Name: ")
studentname = Console.ReadLine
Console.WriteLine()
Console.Write("Class : ")
classname = Console.ReadLine
WriteLine(1, studentID, studentname, classname)
Console.WriteLine("Student successfully setup.")
は今、私は教師が生徒のID番号とスコアを入力することができ、その後、学生IDで始まるテキストファイル内の特定の行の最後にスコアを書くことができるようにしたいです数。
"12345"、 "アダム"、 ""
"67534"、 "アリス"、 ""
」:
テキストファイルの例は次のようになります。 21456" 、 "ボブ"、 ""
"98765"、 "チャールズ"、 ""
"87654"、 "デニス"、 ""
次に、教師がスコアを追加する生徒ID番号として21456を入力し、スコア6を入力すると、テキストファイルの行がこのように表示されるように、この行の最後に6が追加されます:
「21456」、「ボブ」、「A」、「6」私は、私は別のフォーラムからもらったし、私が望んでやって変更しようとした次のコードでこれを行うことを試みてきた
行うには:
Dim score As Integer
Dim studentIDenter As String
Dim count As Integer
Console.Write("Student ID to add score to: ")
studentIDenter = Console.ReadLine
Console.Write("Student score: ")
score = Console.readline
Dim lines() As String = System.IO.File.ReadAllLines(Filename)
For count = 0 To lines.Length - 1
If lines(count).StartsWith(studentIDenter) Then
lines(count) = studentID & studentname & classname & score
System.IO.File.WriteAllLines(Filename, lines)
End If
Next
FileClose(1)
"更新"コードの問題点は何ですか? – Pikoh