使用c语言利用链表实现一个简单的学生信息管理系统: (1)学生信息包括学号、姓名、性别、年龄、电话号码、所学专业、班级等; (2)系统的主要功能包括:学生信息的创建、输出学生信息、查询学生信息、增加学生信息、删除学生信息
时间: 2024-11-14 16:23:39 浏览: 21
学生信息管理系统,实现学生信息包括:学号、姓名、性别、年龄、班级等信息。
5星 · 资源好评率100%
在C语言中,我们可以使用链表结构来实现一个简单的学生信息管理系统。首先,我们需要定义一个链表节点结构体,包含学生的各项信息:
```c
typedef struct Student {
int student_id; // 学号
char name[50]; // 姓名
char gender[10]; // 性别
int age; // 年龄
char phone[20]; // 电话号码
char major[50]; // 所学专业
char class_name[50]; // 班级
struct Student* next; // 指向下一个节点
} Student;
```
接下来,我们创建相应的管理函数:
1. **创建学生信息**:
```c
void createStudent(Student** head, const char* name, ... /* 提取其他字段 */){
Student* newNode = (Student*)malloc(sizeof(Student));
newNode->student_id = ...; // 初始化学号
strncpy(newNode->name, name, sizeof(newNode->name) - 1);
// ... 其他字段初始化
newNode->next = *head;
*head = newNode;
}
```
2. **输出学生信息**:
```c
void displayStudents(Student* head) {
while(head != NULL) {
printf("%d - %s, %s, %d years old, %s\n",
head->student_id, head->name, head->gender, head->age, head->phone);
head = head->next;
}
}
```
3. **查询学生信息**:
```c
Student* searchStudent(Student* head, int id) {
while(head != NULL && head->student_id != id) {
head = head->next;
}
return head;
}
```
4. **增加学生信息**:
```c
void addStudent(Student** head, ... /* 提供新学生数据 */) {
createStudent(head, ...);
}
```
5. **删除学生信息**:
```c
void deleteStudent(Student** head, int id) {
Student* current = *head;
if(current && current->student_id == id) {
*head = current->next;
free(current);
return;
}
while(current && current->student_id != id) {
current = current->next;
}
if(current) {
Student* temp = current->next;
free(current);
current = temp;
}
}
```
阅读全文