Don't PM me to demand answers please.

What input do you give, and what output do you get? Enter say 3 or 4 records and use copy and paste to paste the resulting screen exactly - showing both data entered and results. Paste into a code block to maintain formatting.

I am a little concerned by "inf.read(( char* )this,sizeof(student))" and the write equivalent. If these functions are designed for text then the data should be converted to text, not just cast to char*. Apart from this the code seems to be OK so the input and output should help me see what's going wrong.