ok, i can see that this is an assignment, but i'm gonna help you abit here.
the record is made of a 20bytes long name, and an integer grade.
let's take a look at the first record
the names are shorter than 20bytes, that's why the names are padded with enough
Ì until it reaches 20 bytes.
in this record: A.smith has 6 letters, one dot, one whitespace, then it should be padded with 12
Ìs.
after the name comes the integer grade, if you look at the file with a hex editor you will see:
the letter
Y is actually the value
0x59, convert it to decimal, it's actually
89 the grade of a.smith, this integer isn't stored in a fixed length, so you can use the standard extraction methods to extract it.
after the integer we can notice a white space to separate records.