#include
struct Student
{
int ID;
float grade;
};
int main()
{
Student stu[50];
int ID, i = 0, j;
bool ESC = false;
while (!ESC)
{
printf("1. Add Student Information\n");
printf("2. Display Student Information\n");
printf("3. Delete Student Information\n");
printf("0. Exit\n");
printf("Please input menu item: ");
fflush(stdin);
switch (getchar())
{
case '1':
printf("Add Student Information\n");
printf("Please input student ID: ");
scanf("%d", &stu[i].ID);
printf("Please input grade: ");
scanf("%f", &stu[i].grade);
++i;
printf("Succeed!\n");
break;
case '2':
printf("Student ID\tGrade\n");
for (j = 0; j < i; ++j)
if (stu[j].ID != 0)
printf("%d\t\t%.1f\n", stu[j].ID, stu[j].grade);
break;
case '3':
printf("Please input student ID: ");
scanf("%d", &ID);
for (j = 0; j < i; ++j)
if (stu[j].ID == ID)
stu[j].ID = 0;
printf("Succeed!\n");
break;
case '0':
ESC = true;
}
}
return 0;
}
这个基本上已经就包括了链表的所有基本操作了