#include #include "ClassList.h" Student* GetStudent (void); void main() { int i, count, position; long idNum; Student* aStudent; InitializeList(); printf ("\n\nTesting Prepend - How many students?\n"); scanf ("%d", &count); for (i = 1; i <= count; ++i) { aStudent = GetStudent(); Prepend (aStudent); } printf ("\n\n"); PrintList(); printf ("\n\n"); DumpList(); printf ("\n\nEmptying the list...\n"); EmptyList(); printf ("\n\n"); DumpList(); printf ("\n\nTesting Append - How many students?\n"); scanf ("%d", &count); for (i = 1; i <= count; ++i) { aStudent = GetStudent(); Append (aStudent); } printf ("\n\n"); PrintList(); printf ("\n\n"); DumpList(); printf ("\n\nTesting Insert - How many students?\n"); scanf ("%d", &count); for (i = 1; i <= count; ++i) { aStudent = GetStudent(); Insert (2, aStudent); } printf ("\n\n"); PrintList(); printf ("\n\n"); DumpList(); while (1) { printf ("\n\nTesting Find and Delete - "); printf ("Enter student id (or -1 to quit):\n"); scanf ("%ld", &idNum); if (idNum == -1) { break; } position = Find (idNum); if (position == 0) { printf ("Id Number %ld not found\n", idNum); } else { printf ("Deleting Id Number %ld\n", idNum); Delete (position); printf ("\n\n"); PrintList(); printf ("\n\n"); DumpList(); } } printf ("\n\nEnd of Program\n"); } /* This functions gets student data from standard input */ /* and returns a pointer to a Student structure intialized */ /* with the values entered. */ Student* GetStudent() { long idNum; char name [MAX_SZ_NAME + 1]; char address [MAX_SZ_ADDRESS + 1]; char major [SZ_MAJOR + 1]; int month; int day; int year; printf ("\n\nEnter student id number:\n"); scanf ("%ld%*c", &idNum); printf ("Enter name (%d chars. max.):\n", MAX_SZ_NAME); gets (name); printf ("Enter address (%d chars. max.):\n", MAX_SZ_ADDRESS); gets (address); printf ("Enter major (%d chars.):\n", SZ_MAJOR); gets (major); printf ("Enter date of birth (mm dd yyyy):\n"); scanf ("%d%d%d", &month, &day, &year); return (CreateStudent (idNum, name, address, major, month, day, year)); }