C语言链表结构实现学生信息管理系统 - 添加学生功能
在学生系统中,可以使用链表结构来存储和管理多名学生的信息。链表结构可以动态地添加和删除节点,非常适合这种需要频繁插入和删除操作的场景。
首先,我们需要定义一个学生结构体,用于存储学生的信息,例如学号、姓名、年龄等。
typedef struct student {
int id;
char name[20];
int age;
struct student *next;
} Student;
然后,我们可以定义一个头节点,作为链表的起始位置。
Student *head = NULL;
接下来,可以编写一个函数,用于录入学生信息并将其添加到链表中。
void addStudent() {
Student *newStudent = (Student*) malloc(sizeof(Student));
printf("请输入学号:");
scanf("%d", &newStudent->id);
printf("请输入姓名:");
scanf("%s", newStudent->name);
printf("请输入年龄:");
scanf("%d", &newStudent->age);
newStudent->next = head;
head = newStudent;
}
在上述代码中,我们首先动态分配一个新的学生节点,并从用户输入中获取学生的信息。然后,将新节点的next指针指向链表的头节点,然后将新节点赋值给头节点,这样新节点就成为了链表的第一个节点。
最后,我们可以编写一个函数,用于遍历链表并打印所有学生的信息。
void printStudents() {
Student *current = head;
printf("学生信息:\n");
while (current != NULL) {
printf("学号:%d 姓名:%s 年龄:%d\n", current->id, current->name, current->age);
current = current->next;
}
}
在上述代码中,我们使用一个指针变量current来遍历链表,依次打印每个学生的信息,直到current指向NULL,表示链表已经遍历完毕。
通过调用addStudent函数,可以不断录入多名学生的信息,并通过调用printStudents函数,可以打印出所有学生的信息。
这样,我们就实现了在学生系统中录入多名学生信息的功能。
原文地址: https://www.cveoy.top/t/topic/pduH 著作权归作者所有。请勿转载和采集!