链表实现的学生信息管理系统

4星 · 超过85%的资源 需积分: 14 19 下载量 137 浏览量 更新于2024-09-17 1 收藏 4KB TXT 举报
"学生信息链表管理系统,用于记录学生的学号、姓名和成绩等信息,实现增、删、查、打印功能的C语言程序设计。" 在给定的代码中,我们看到一个基于链表的学生信息管理系统。这个系统使用了C语言来实现,并且使用了链表数据结构来存储学生的信息。链表中的每个节点(`struct student`)包含以下字段: 1. `number`: 学号,整型变量,用来唯一标识每个学生。 2. `name`: 姓名,字符数组,长度为20,用于存储学生的姓名。 3. `score`: 成绩,整型变量,表示学生的分数。 4. `next`: 指针,指向下一个学生节点,形成链表。 系统定义了以下几个函数来操作链表: 1. `crease()`: 创建链表。这个函数用于初始化链表,创建第一个学生节点。在主函数中,当用户选择创建新链表时,会调用此函数。 2. `insert()`: 插入节点。这个函数接收已有的链表头指针和一个新的学生节点,将新节点插入到链表中。在主函数中,当用户选择添加新学生时,会创建新节点并调用此函数。 3. `dele()`: 删除节点。根据给定的学号,这个函数从链表中删除一个学生节点。在主函数中,当用户选择删除学生时,会调用此函数。 4. `print()`: 打印链表。这个函数遍历链表并打印出所有学生的信息。在主函数中,当用户选择查看所有学生信息时,会调用此函数。 主函数`main()`通过一个无限循环(`while(flag)`)来持续接收用户的输入,根据用户的选择执行相应的操作。用户可以选择: - 1:创建链表(调用`crease()`) - 2:插入学生信息(分配内存,输入信息,然后调用`insert()`) - 3:删除学生信息(输入学号,调用`dele()`) - 4:打印所有学生信息(调用`print()`) - 0:退出程序 在链表操作中,`malloc()`函数用于动态分配内存,创建新的学生节点。`scanf()`函数用于从用户那里获取输入,如学号、姓名和成绩。`switch-case`结构用于根据用户输入的选项执行相应的函数。 这个系统提供了一个简单但实用的界面,用户可以通过输入数字来操作链表,管理学生信息。由于是链表结构,它允许在运行时动态地添加、删除和查看学生信息,而无需预先知道学生数量。