in reply to Selecting successive lines
The customary approach to doing this sort of thing is the approach taken by the awk utility:
/regular_expression /
{ code to execute if regex is matched }
... rinse and repeat ...
So, in this file, there would be .. it looks like .. about five different “kinds” of lines, including blank-line, and you have things-to-do with two of them. For a student_name line, you capture the name and proceed. For a Score(n) line, you extract the score and do something with it, using the most-recently captured student name. Perhaps for a blak-line you forget the name. And so on.
One advantage of this approach is that it is relatively “future-proof.” You are making fewer assumptions about the data, such as “the third line.” It is also now much easier for your program to recognize when there is a bug in the program that produced the file, which is another important consideration in production settings.