【求助】c++校运动会项目管理
题目描述使用单链表建立一个校运动会项目管理表。每个记录包括:学院名称、比赛项目、名次。要求:
(1)建立n个结点(结点数据域的值由键盘输入)构成的单链表。
(2)统计某学院的所有比赛项目数,查找所有名次为第一名的结点记录并输出。
(3)删除指定比赛项目的所有结点。
定义链表中结点的结构为
struct node
{char name[40];/*学院名称*/
char xiangmu[40];/*比赛项目名称*/
int no;/*名次*/
struct node *link;/*指向下一课程结点的指针*/
};
统计某学院的比赛项目需要按照学院名称从头结点开始顺序查找,比较学院名称可以用字符串比较函数strcmp()来实现。查找所有名次为第一名的结点需要按照名次查找。删除指定比赛项目的结点。首先要按照比赛项目进行查找。如果没找到,则输出没找到信息。如果找到。则分三种情况讨论:该结点为头结点时,修改原头结点所指向的结点为新的头结点;该结点为中间结点时,修改该结点的前一结点的指针使其指向该结点的后一结点;该结点为尾结点时,修改原尾结点的前一结点为新的尾结点;最后释放该结点。执行完删除操作后,继续循环查找符合条件的结点直至链表尾。