A student records system

The problem

Build a program that adds, lists, searches and sorts student records, and saves them in a file so that they are still there next time.

Requirements

Technologies

Step by step

  1. Define the struct, and write one function that prints a student.
  2. Write an add function that grows the array when it is full.
  3. Write the list and search functions, and test them.
  4. Write the sort, comparing by CGPA and then by name.
  5. Write the save function, then the load function, and check for NULL.
  6. Write the menu loop in main, calling one function for each choice.
  7. Run the program, restart it and confirm that the records came back.
  8. Compile with -Wall -Wextra, and fix every warning.

Expected result

A complete console program whose data survives between runs, and which handles bad input and missing files.

How it is evaluated

Ways to improve it